如何在运行时铬驱动程序硒中更改用户代理字符串



我正在开发一些东西,希望我更改用户代理。 在开始时,我提供用户代理作为...(到铬驱动程序)

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用户代理,或者只是删除此用户代理。

我如何在Selenium Java中以编程方式实现这一点。

不可以,一旦通过ChromeOptionsaddArguments属性的实例配置WebDriver实例并启动活动浏览会话,就无法更改活动浏览会话的用户代理

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

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

正如@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");

相关内容

  • 没有找到相关文章

最新更新