私は、セレンを使ってWebページでファイルのダウンロードを自動化しようとしています。 たとえば、https://github.com/mozilla/geckodriver/releasesからgeckodriverのダウンロードを自動化しようとします。Python Selenium:Firefoxの環境設定に失敗しました
私のPythonのコードは以下の通りです:
私が使用したコードだこと:
profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.folderList",2)
profile.set_preference("browser.download.manager.showWhenStarting",False)
profile.set_preference("browser.download.dir", path)
profile.set_preference("browser.download.downloadDir", path)
profile.set_preference("browser.download.defaultFolder", path)
profile.set_preference("browser.helperApps.alwaysAsk.force", False)
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/x-gzip, application/tar+gzip, application/x-gtar, application/x-compressed")
profile.set_preference("pdfjs.disabled", True)
profile.update_preferences()
browser = webdriver.Firefox(profile)
browser.get('https://github.com/mozilla/geckodriver/releases')
sleep(5)
try:
field = browser.find_element_by_xpath("//ul[@class='release-downloads']//li/a/strong[contains(text(),'geckodriver-v0.11.1-linux64.tar.gz')]")
if(field != None):
field.click()
find = True
except Exception,e:
print str(e)
私の問題は、私はこのコードをしようとした場合、私は、Firefoxのポップアップダウンロードを得たことである:
私はおそらく設定browser.helperApps.neverAsk.saveToDiskの設定が悪いと思ったので、zipファイルをダウンロードしようとしましたeでも同じ問題があります。それから私は、configについて見てみました:残念ながら、私はパラメータがデフォルト値に設定されていることがわかりました。例えば、私はbrowser.download.folderListの値が1ではない2実測値:
もbrowser.helperApps.neverAsk.saveToDiskはNULL値であり、そしてbrowser.download.dirは存在しません。
編集:好み
を設定せずにダウンロードしてくださいその後、私はこのコードで好みを設定せずに試してみてください。
browser = webdriver.Firefox()
browser.get('https://github.com/mozilla/geckodriver/releases')
sleep(5)
try:
field = browser.find_element_by_xpath("//ul[@class='release-downloads']//li/a/strong[contains(text(),'geckodriver-v0.11.1-linux64.tar.gz')]")
if(field != None):
field.click()
find = True
except Exception,e:
print str(e)
pass
しかし、私は、私が削除したその設定の好みの一部のように同じ問題ではない持ってもらいます影響力。 しかし、私がFirefoxを手動で開き、ダウンロードリンクで手動でクリックすると、firefoxの確認ポップアップを使って問題なくファイルを直接ダウンロードできます。
私のコードに間違いがありますか?何が問題なの?
開発環境:Python2.7、selenium3.0.1、Firefoxの49
私はこの問題をここで解決したと思います[Python Selenium Download Profile](http://stackoverflow.com/質問/ 41644381/python-set-firefox-preferences-for-selenium-download-location/41683377#41683377) 。 –