javascript - python : disable download popup when using firefox with selenium - Stack Overflow

I have script that using selenium and firefox to automating download action. The problem is whenever I

I have script that using selenium and firefox to automating download action. The problem is whenever I run script I always get pop up from firefox keep asking what kinds of action I would like to do, even though I set download path in firefox preference. I checked files and folders to create master mimeTypes.rdf for all users, but I couldn't find mine.(I'm using ubuntu). I found ~/.mozilla/firefox but there was no file for directory of my profile name nor any file has an extension like .rdf

here is the criminal's pic that making me crazy

firefox download popup

below is what I've done to disable the popup.

profile = FirefoxProfile()
profile.set_preference("browser.download.panel.shown", False)
profile.set_preference("browser.helperApps.neverAsk.openFile", 'application/zip')
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", 'application/zip')
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.dir", "/home/i-06/Downloads")
driver = webdriver.Firefox(firefox_profile=profile)

I have script that using selenium and firefox to automating download action. The problem is whenever I run script I always get pop up from firefox keep asking what kinds of action I would like to do, even though I set download path in firefox preference. I checked files and folders to create master mimeTypes.rdf for all users, but I couldn't find mine.(I'm using ubuntu). I found ~/.mozilla/firefox but there was no file for directory of my profile name nor any file has an extension like .rdf

here is the criminal's pic that making me crazy

firefox download popup

below is what I've done to disable the popup.

profile = FirefoxProfile()
profile.set_preference("browser.download.panel.shown", False)
profile.set_preference("browser.helperApps.neverAsk.openFile", 'application/zip')
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", 'application/zip')
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.dir", "/home/i-06/Downloads")
driver = webdriver.Firefox(firefox_profile=profile)
Share Improve this question asked Aug 12, 2017 at 1:20 ruthruth 1092 silver badges11 bronze badges 1
  • Possible duplicate of download and save multiple csv files using selenium and python from popup – undetected Selenium Commented Aug 12, 2017 at 9:02
Add a ment  | 

3 Answers 3

Reset to default 2

I have spent many hours trying to suppress that "save or open" pop-up that appears when downloading a file using the firefox driver with selenium (python 3.x). None of the many suggestions involving various values for profile.set_preference worked for me. Maybe I missed something.

Still, I finally got it working by the other method that is remended : using an existing firefox profile.

You can tweak your default (or custom) profile to the file save behaviour you want. Type the following in the firefox address bar and make changes here :

about:preferences#applications

Then the only setting up you need to do to download the file into your current working directory is :

from selenium import webdriver
fp = webdriver.FirefoxProfile(<your firefox profile directory>)
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.dir", os.getcwd())
driver = webdriver.Firefox(firefox_profile=fp)

If you have a typical ubuntu setup, you can find your default firefox profile dir by viewing ~/.mozilla/firefox/profile.ini

In that .ini file, look for Path under [Profile0]

I doubt you need to define both. Remove the below line from your code

profile.set_preference("browser.helperApps.neverAsk.openFile", 'application/zip')

Also sometime the MIME type of zip file can be different based on the server. It could be any of below

  • application/octet-stream
  • multipart/x-zip
  • application/zip
  • application/zip-pressed
  • application/x-zip-pressed

So in Network tab check what is the content type you are getting and add that to your profile to make sure the dialog doesn't e

I removed profile.set_preference("browser.helperApps.neverAsk.openFile", 'application/zip') as Tarun Lalwani suggest and it still work. But my problem was that I put application/mp4 instead of video/mp4. You could check MIME type here.

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744751301a4591613.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信