使用Splinter设置Firefox首选项

时间:2017-08-10 16:14:31

标签: python selenium firefox web-scraping splinter

我正在尝试使用splinter自动下载,在启动时会提示对话框。为了解决这个问题,我想在下载pdf时将Firefox偏好设置为不打开框。我遵循了这个github指南:https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/7017这似乎解决了我的担忧。我现在的问题是我无法让它发挥作用。我不确定脚本运行的问题在哪里,但它似乎没有考虑到首选项。

这是我的代码:

from splinter import Browser
prof = {}
prof['browser.download.manager.showWhenStarting'] = 'false'
prof['browser.helperApps.alwaysAsk.force'] = 'false'
prof['browser.download.dir'] = 'C:\Users\craab\Desktop\Notes\Confluence_Backup'
prof['browser.download.folderList'] = 2
prof['browser.helperApps.neverAsk.saveToDisk'] = 'application/pdf'
prof['browser.download.manager.useWindow'] = 'false'
prof['browser.helperApps.useWindow'] = 'false'
prof['browser.helperApps.showAlertonComplete'] = 'false'
prof['browser.helperApps.alertOnEXEOpen'] = 'false'
prof['browser.download.manager.focusWhenStarting']= 'false'
browser = Browser('firefox',profile_preferences=prof)
browser.visit('https://companywiki.com')
browser.find_by_id('login-link').click()
browser.fill('os_username', 'user')
browser.fill('os_password', 'pass')
browser.find_by_name('login').click()
browser.visit('https://pageonwiki.com')
browser.find_by_xpath('//*[@id="navigation"]/ul/li[4]').click()
browser.find_by_id('action-export-pdf-link').click()

1 个答案:

答案 0 :(得分:0)

我能够通过保存Firefox浏览器中的所有首选项,然后调用我的Firefox配置文件来实现相同的目标

browser = Browser('firefox', profile=r'C:\Users\me\AppData\Roaming\Mozilla\Firefox\Profiles\0lot9hun.default')