【问题标题】:Selenium Firefox webdriver does not adopt profileSelenium Firefox webdriver 不采用配置文件
【发布时间】:2015-06-09 03:34:48
【问题描述】:

我创建了一个 FF 个人资料:

fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.dir", CLIENT_SAVING_DIR)
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream")

然后将此配置文件传递给远程模式 webdriver:

remoteHost="192.168.x.y:4444/wd/hub"
driver = webdriver.Remote(remoteHost, 
                              desired_capabilities=DesiredCapabilities.FIREFOX, 
                              browser_profile=pf)

我已将 Firefox 降级到 35.0 版并使用 Selenium selenium-server-standalone-2.44.0.jar

驱动程序运行良好,但我设置的配置文件似乎没有使用。浏览器仍然出现下载提示对话框。

我已经尝试了很多次,并咨询了我能找到的所有内容。甚至尝试在 FireFox 中玩 about:config 但没用。 有人可以帮忙吗?

【问题讨论】:

    标签: python firefox selenium-webdriver


    【解决方案1】:

    我找到了答案。 (我工作了一天)

    fp = webdriver.FirefoxProfile()
    ... set your profile attributes
    fp.update_preferences() #the answer
    

    我认为将此行粘贴到配置文件定义的末尾很重要。 Selenium API 应该将此行放入他们的文档中。

    【讨论】:

    • 哎呀!我的错字,是 fp(FirefoxProfile 实例)
    • AttributeError: 'FirefoxProfile' 对象没有属性 'update_preference'
    • 将最后一个方法名称更改为update_preferences 以使其工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 2020-10-24
    • 2013-10-16
    • 2016-04-20
    • 2016-11-08
    • 2016-09-14
    相关资源
    最近更新 更多