如何让navigator.webdriver
消失在无头铬中?
options.setExperimentalOption("excludeSwitches", Arrays.asList("enable-automation"));
上面的行可以使navigator.webdriver
消失在非无头铬中。但它不适用于无头铬。
我找到了木偶师的evaluateOnNewDocument
,它可以在页面加载之前设置该属性。但是如何用硒实现同样的效果呢?
await page.evaluateOnNewDocument(() => {
Object.defineProperty(navigator, 'webdriver', {
get: () => false,
});
});
我做到了.我下载了Chrome版本62.0.3202.45和相应的Chrome驱动程序。 没有自动网络驱动程序属性,允许无头下载。
最好的方法是使用旧版本的chromedriver。带有 Chromuim 浏览器版本 63 的 Chrome 驱动程序版本 2.34 未实现 navigator.webdriver 属性。