selenium firefox webdriver 无法使用 python 完整下载 PDF

我正在尝试使用 python 从 java 事件而不是 html 下载 PDF,并且我已经更改了我的 firefox 首选项,它进行了下载,但是当我尝试打开文件时,它说该文件必须已损坏或损坏,我注意到当 firefox webdriver 进行下载时,它不会下载它的所有字节,所以我不知道它是否没有等到下载完成或者我的代码中是否缺少某些东西:


from selenium import webdriver 

from selenium.webdriver.support.ui import WebDriverWait 

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.common.by import By

import time



fp = webdriver.FirefoxProfile()


fp.set_preference("browser.download.folderList", 2) 

fp.set_preference("browser.download.manager.showWhenStarting",False)

fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/pdf")

fp.set_preference("pdfjs.disabled",True)

fp.set_preference("browser.download.dir", "C:\\Users\\carlo\\Desktop\\

driver = webdriver.Firefox(firefox_profile=fp)

driver.get(the url which i cant give here)

然后我在代码中打开一个新窗口并控制它,它是一个 PDF 网络窗口,并使用它:


element= WebDriverWait(driver, 10).\until(EC.visibility_of_element_located((By.XPATH,"//*[@id='download']")))

element.click()

除此之外,它没有 URL;这是一个没有附带的Java事件,现在它开始下载但它破坏了它。我试图等待,time.sleep但它仍然有同样的问题。如果有一种方法可以设置直接下载的首选项,而无需打开带有驱动程序的新窗口,它应该会有所帮助,我是否遗漏了什么?


MYYA
浏览 162回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python