当前位置:  开发笔记 > 编程语言 > 正文

Python为Selenium设置Firefox首选项 - 下载位置

如何解决《Python为Selenium设置Firefox首选项-下载位置》经验,为你挑选了1个好方法。

我使用Selenium Marrionette和GeckoDriver来提取网络数据.我使用以下命令设置我的Firefox配置文件首选项:

fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList", 1)
fp.set_preference("browser.helperApps.alwaysAsk.force", False)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir", "H:\Downloads")
fp.set_preference("browser.download.downloadDir","H:\Downloads")
fp.set_preference("browser.download.defaultFolder","H:\Downloads")

binary = FirefoxBinary(r'C:\Program Files (x86)\Mozilla Firefox\Firefox.exe')

firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True

driver = webdriver.Firefox(capabilities=firefox_capabilities, firefox_binary=binary, firefox_profile = fp)

根据我的理解,阅读无法设置firefox配置文件首选项并将FirefoxProfile传递给FirefoxDriver后,现在使用时似乎没有做任何事情firefox_profile.所以我需要实现新的更新firefox_capabilities,但我不确定如何做到这一点.有任何想法吗?



1> d84_n1nj4..:

好吧,我相信我终于搞清楚了.我没有使用上面的代码,而是使用了以下代码,我指向我的Firefox配置文件夹(如果您需要更新默认配置文件设置,请在运行此代码之前在Firefox中执行此操作):

from selenium.webdriver.firefox.options import Options
binary = FirefoxBinary(r'C:\Program Files (x86)\Mozilla Firefox\Firefox.exe')
fp = (r'C:\Users\username\AppData\Roaming\Mozilla\Firefox\Profiles\oqmqnsih.default')
opts = Options()
opts.profile = fp
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
driver = webdriver.Firefox(capabilities=firefox_capabilities,firefox_binary=binary, firefox_options = opts)

我运行此代码以及我的网络抓取代码,一旦我点击"导出CSV"链接,它就会自动下载而不是弹出下载管理器窗口.随意添加任何反馈.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有