保存embedded.pdf而不是.pdf fi

2024-03-28 14:13:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从chrome浏览器下载一个嵌入的pdf文件,但是这个文件是作为以下文件存储在我的C:\驱动器上的:C:\TEST_A_15.pdf.crdownload。在

def download_pdf(lnk):

    from selenium import webdriver
    from time import sleep

    options = webdriver.ChromeOptions()

    download_folder = "C:\\"

    profile = {"plugins.plugins_list": [{"enabled": False,
                                     "name": "Chrome PDF Viewer"}],
           "download.default_directory": download_folder,
           "download.extensions_to_open": ""}

    options.add_experimental_option("prefs", profile)

    print("Downloading file from link: {}".format(lnk))

    driver = webdriver.Chrome(chrome_options = options)
    driver.get(lnk)
    filename = lnk.split("=")[3]
    print("File: {}".format(filename))

    print("Status: Download Complete.")
    print("Folder: {}".format(download_folder))

    driver.close()

如果我将filename的行调整为下面的行,那么我将得到我硬盘上所需的C:\TEST_A_15.pdf文件,而末尾没有{}。但是我得到了一个IndexError: list index out of range,这是合乎逻辑的,因为{}在第4位没有找到。在

^{2}$

使用的URL(我更改了pdf文件的主机名和名称,因此URL不起作用): https://testing.nl/getpdf.asp?id=ORsP5UqX6IikuikcGiLD&unique=adda3b24-f9ca-4007-898a-caed5309c140&filename=TEST_A_15.pdf

更奇怪的是,当我将网络驱动器与filename = lnk.split("=")[3]一起使用时,该文件将被存储为.tmp文件,即:2498d715-84aa-4e81-8037-264bb0211b4b.tmp,当我使用错误的代码(filename = lnk.split("=")[4])时,它给出了IndexError,但将文件正确地保存为网络驱动器上的.pdf文件。在


Tags: 文件fromtestformatpdfdownloaddriverfolder