无法在selenium中将参数传递给chrome驱动程序

时间:2017-11-05 05:22:52

标签: python linux google-chrome selenium-webdriver google-chrome-extension

我使用硒测试我的铬扩展,我最近发现Travis-CI报告了失败状态。

travis-ci screenshot

我重现了这个问题并且意识到chrome甚至没有加载我的扩展程序。

这是一个简短的例子:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

opt=Options()
opt.add_argument('load-extension=/path/to/src')
opt.add_argument('--user-agent=foobar')

b=webdriver.Chrome('driver/chromedriver',chrome_options=opt)
print(b.execute_script('return navigator.userAgent'))

在未加载扩展程序的情况下启动了chrome,用户代理字符串仍然是默认字符串(Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36)。

我正在使用的Chrome驱动程序是v2.33 google-chrome-stable (62.0.3202.75-1)。操作系统是Ubuntu 14.04 LTS(此错误在Windows中无法重现)。

我想知道这是最近更新的chrome或selenium中的一个错误,因为代码工作3天前。

此错误是否有解决方法?

(抱歉我的英语不好)

1 个答案:

答案 0 :(得分:2)

比较2个构建输出,硒的版本从3.6.0变为3.7.0。

enter image description here

将硒降级为selenium==3.6.0将解决问题。