2014-02-18 36 views
1

我有一个脆弱的刮问题,在我的手中有很多的JavaScript创建会话相关的cookie,我试图绕过这个问题使用硒。我正在使用python驱动程序(python-selenium,版本为2.2.0-1)。如果没有从selenium-server-standalone-2.39.0.jar获得的远程驱动程序,浏览器开始工作,但不工作(报告了一些配置文件问题)。使用远程驱动程序的一切只是set_preference不工作是好的(我需要为了定义一个browser_profile能够自动保存一些文件):Firefox的set_preference通过远程驱动程序不工作

profile = webdriver.FirefoxProfile() 
profile.set_preference('browser.download.folderList', 2) # custom location 
profile.set_preference('browser.download.manager.showWhenStarting', False) 
profile.set_preference('browser.download.dir', '/tmp') 
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/pdf') 
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/pdf') 
#browser = webdriver.Firefox() 
browser = webdriver.Remote(
    command_executor='http://127.0.0.1:4444/wd/hub', 
    desired_capabilities=DesiredCapabilities.FIREFOX, browser_profile=profile) 

这样不仅对话框,保存/打开选项打开但检查about:config我没有找到已设置的conf。 在这个debian上我有Iceweasel 24.2.0,但我也尝试过使用普通firefox的Ubuntu,没有运气。

任何想法可能是我的问题?

回答

0

您可以只进行所需的设置并永久保存配置文件?然后你可以加载这个配置文件而不需要set_preference。

编辑: 另外,看Python - Remote Webdriver with Extension installed in it

+0

使用我的Iceweasel配置文件确实奏效,谢谢。这将是有趣的,找出为什么set_preference不起作用,但现在对我来说没关系:) – vodka

1

我意识到这是一个有点晚了,但我发现我所相信的是实际的回答这个问题。

原来, profile.set_preference( “browser.download.manager.showWhenStarting”,FALSE)

尝试设置首法郎不承认。如果你在正常的配置文件中查看about:config,那个设置不存在。至少不是FF 35的。也许这是过去的某个时间,但没有更多。

总之,这显然是足以让修改后的配置文件无效,导致FF拒绝整个事情(或可能引起硒库传递轮廓FF时崩溃)在:

浏览器=的webdriver。远程(...,browser_profile =轮廓)

相关的问题:

https://code.google.com/p/selenium/issues/detail?id=7017

我发现,除去呼叫set_preference设置允许修改后的轮廓采取è ffect。

我的临时结论是,修改后的配置文件必须只有FF可以理解的修改。

0

您对此案例的解决方案here 此配置文件的原因尚未采用。我们需要通知Firefox来更新新的配置文件。

相关问题