Selenium节点启动时向Chrome发送命令行参数

时间:2014-06-04 14:23:44

标签: google-chrome selenium selenium-webdriver

我在Windows机器上运行一个带有2个节点的Selenium Hub,这些节点是通过批处理脚本启动的。

使用

在这些节点上启动Chrome浏览器时
java -jar selenium-server-standalone-2.40.0.jar -role -node -hub http...

我希望有机会在Chrome实例启动时为其提供命令行参数。具体来说,我想利用

--user-agent=[user agent]

参数,用于设置Chrome发送给网络服务器的http用户代理。

你们有没有人知道如何解决这个问题?

如果试过像

这样的东西
-Dwebdriver.chrome.driver=[path to chromedriver] --user-agent=[user agent]

但是当我这样做时,系统会找到chromedriver可执行程序。

酷将有类似

的东西
-Dwebdriver.chrome.browser="user-agent=[user agent]"

但我没有找到任何帮助。

如果有人可以帮助我,那将是非常好的......

1 个答案:

答案 0 :(得分:0)

希望这正是您正在寻找的。

ChromeOptions options = new ChromeOptions();
options.addArguments("--user-agent=Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3");

您需要将此选项传递给Chrome功能。

下面提供了所有chrome命令行开关的列表。

http://peter.sh/experiments/chromium-command-line-switches/