通過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