我试图从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
,这是合乎逻辑的,因为{
使用的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文件。在
我已经解决了,问题是}文件。所以我在关闭驱动程序之前内置了一个
webdriver
在整个pdf下载之前关闭,导致.tmp
或{sleep
。在相关问题 更多 >
编程相关推荐