通过Selenium下载文件的旧方法似乎不再奏效。使用Selenium和Firefox版本40,我如何下载文件?
我的代码是:
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.dir", os.getcwd())
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.manager.showWhenStarting", False)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk",
"application/pdf")
self.driver = webdriver.Firefox(firefox_profile=fp)
self.longMessage = True
但是,仍然出现文件对话框。我已经完成了很多切换字段的开关操作,但经过一番挖掘,我发现Selenium生成的默认Firefox配置文件的prefs.js
文件与我手动检查的prefs.js
文件之间没有区别在下载对话框中“从此开始自动为此类型的文件执行此操作”。
的mimeTypes.rdf
文件确实发生了改变,不过,具体而言,以下行添加:
<RDF:Description RDF:about="urn:mimetype:handler:application/pdf"
NC:alwaysAsk="false"
NC:saveToDisk="true"
NC:handleInternal="false">
<NC:externalApplication RDF:resource="urn:mimetype:externalApplication:application/pdf"/>
我不知道的方式创建一个新的Firefox配置文件时,设置自定义mimeTypes.rdf文件,但是。有人有什么主意吗?
为了阻止任何人提出我刚勾选下载URL,该文件为用户生成,我需要需要来明确验证.pdf文件是否已下载到驱动器。
我也一直在寻找真正难解决。我发现这个https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/95 – IndranilGayen
我使用Firefox版本50.1.0。和RSelenium。出现提示时无法下载。然而,在几种情况下,它的工作。我会写回复相同的回复。 – IndranilGayen