硒Firefox的webdriver不采用配置文件 [英] Selenium Firefox webdriver does not adopt profile

查看:138
本文介绍了硒Firefox的webdriver不采用配置文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经创建了一个FF配置文件:

$ p $ web $ f $ web $ $ $ $
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:
$ b $ $ $ $ $ $ $ $ $ $ $ remoteHost =192.168.xy: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 但没用。
任何人都可以请帮忙吗?

解决方案

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

  fp = webdriver.FirefoxProfile()
...设置您的profile属性
fp.update_preference()#答案

我认为粘贴这个很重要在配置文件定义的最后一行。 Selenium API应该把这一行放到他们的文档中。


I have created a FF profile:

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")

Then pass this profile to remote mode webdriver:

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

I've downgraded my Firefox to version 35.0 and using Selenium selenium-server-standalone-2.44.0.jar.

The driver works just fine but it seems the profile I had set is not used. The browser still appears the download prompt dialog.

I have tried for many times and consult everything I could find. Even tried playing with about:config in FireFox but useless. Could anyone please help?

解决方案

I have found the answer. (It took me for a day at work)

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

I think it's important to paste this line at the end of profile definition. Selenium API should put this line into their documentation.

这篇关于硒Firefox的webdriver不采用配置文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆