我正在开发一些希望我改变使用者的东西。 首先,我提供用户代理为......(对于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中以编程方式实现此目的。
答案 0 :(得分:1)
否,配置 WebDriver后,您无法更改活动浏览会话的 useragent 实例通过 ChromeOptions 和 addArguments 属性的实例启动活动浏览会话。
即使您能够从活动浏览会话中提取Session ID
,Cookies
,User 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");