无法使用Selenium / Python 3.x下载PDF,但它可以在我手动操作时使用

问题描述 投票:1回答:1

我读了很多关于我的查询的答案,但找不到具体的东西。因此问这里

这是场景,在网页上,当我点击下载按钮时,它正确下载PDF文件,在浏览器上,我设置了Firefox首选项以保存文件而不是在预览中打开。

但是,当我运行我的selenium / Python脚本时,下载会在预览中保持打开状态,页面上还有其他PDF下载,它们运行正常。在检查两个下载按钮时,我看到的唯一区别是没有下载的那个在其href值中具有相对URL。

我也在我的脚本中使用以下firefox选项设置,但没有任何帮助。请指导我正确的方向。提前致谢!

**************************

fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.manager.showWhenStarting", False)
fp.set_preference("browser.download.dir", 'Path to Save The file')
fp.set_preference("pdfjs.enabledCache.state", False)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/pdf")
fp.set_preference("pdfjs.disabled", "true")

# disable Adobe Acrobat PDF preview plugin
fp.set_preference("plugin.scan.plid.all", "false")
fp.set_preference("plugin.scan.Acrobat", "99.0")
self.driver = webdriver.Firefox(firefox_profile=fp,executable_path="path to my geckodriver")
self.driver.get("url")
pdf selenium-webdriver automated-tests geckodriver pypdf2
1个回答
0
投票

我遇到了同样的问题 - 设置为禁用pdfjs仅在about:config页面上手动单击时才有效。原来似乎解决了这个问题的是(Firefox 60.6.1ESR):

profile.setPreference("pdfjs.disabled", true);
profile.setPreference("pdfjs.enabledCache.state", false); // <= THIS
© www.soinside.com 2019 - 2024. All rights reserved.