如何在运行时chromedriver selenium中更改useragent-string

时间:2018-05-16 16:14:46

标签: java selenium selenium-webdriver selenium-chromedriver user-agent

我正在开发一些希望我改变使用者的东西。 首先,我提供用户代理为......(对于chromedriver)

options.addArguments("--user-agent=Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25");

但后来我想把它改成Windows useragent,或者只是删除这个用户。

如何在Selenium Java中以编程方式实现此目的。

2 个答案:

答案 0 :(得分:1)

,配置 WebDriver后,您无法更改活动浏览会话 useragent 实例通过 ChromeOptions addArguments 属性的实例启动活动浏览会话

即使您能够从活动浏览会话中提取Session IDCookiesUser Agent和其他会话属性 >您仍然无法将这些属性更改/编辑为 WebDriver 的HOOK。

要更改用户代理,您必须重新配置 WebDriver 实例并启动新的浏览会话

答案 1 :(得分:1)

正如@Debanjan所说,您无法在运行时更改用户代理,但是您尝试使用ModifyHeader插件,您可以将其设置为更改用户代理但不是已经实例化的驱动程序。您可以在webDriver实例化期间进行设置,也可以尝试使用ChromeOptions。

ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("src/main/resources/idgpnmonknjnojddfkpgkljpfnnfcklj.crx"));

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);

ChromeOptions chrome = new ChromeOptions();
chrome.addArguments("user-agent=YOUR_USER_AGENT");