webdriver標記是反爬一定在檢測的屬性
目前資料都是
ignoreDefaultArgs: ['--enable-automation']
或
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined,
})
實測這兩種方法已經無效,webdriver還在,只是值為undefined,通過 webdriver in navigator 或者 navigator.hasOwnProperty("webdriver") 都是為true
最終解決方案:
await page.evaluateOnNewDocument(() => {
const newProto = navigator.__proto__;
delete newProto.webdriver;
navigator.__proto__ = newProto;
});
