😺
[Python]Selenium + Firefoxでファイルをダウンロードするための設定
はじめに
最近仕事でPythonを使ったwebスクレイピングをします。seleniumとfirefoxを使っていますが、色々と貼ったので備忘録として残します。
ファイルをダウンロードした時に、ダウンロードダイアログが出て、それをなんとかできないままダウンロードできずに終わることがありました。
それに太刀打ちするために、firefox_profileを編集して、ダウンロードダイアログが出ないようにします。
使い方
from selenium import webdriver
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.dir", "/path/to/folder")
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/plain")
driver = webdriver.Firefox(firefox_profile=fp)
補足
これはどこのサイトを見ても、書いてあったりするのでただのメモです。
しかし自分はこれを書いてもハマりました。
結局今回のbrowser.helperApps.neverAsk.saveToDiskで指定するMIMEタイプが違っていたというものでした。もし同じ状況で困っている人がいたら、保存したいファイルのMIMEタイプの指定を間違えてないか確認してみてください。
Discussion