😺

[Python]Selenium + Firefoxでファイルをダウンロードするための設定

2021/05/03に公開

はじめに

最近仕事で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