我在用木偶剧演员刮东西。我可以传递navigator.webdriver property= false,但我需要完全删除该属性。
我尝试将false传递给navigator.webdriver。这个技巧可以在https://intoli.com/blog/not-possible-to-block-chrome-headless/chrome-headless-test.html上传递
但在https://bot.sannysoft.com/ cant中。
这是网页测试机器人。这个测试正在寻找在navigator对象中是否有任何"webdriver“属性。不关心它是真是假。我需要从浏览器中删除这个webdriver道具。
发布于 2019-02-25 05:37:37
试试这个:
const newProto = navigator.__proto__;
delete newProto.webdriver;
navigator.__proto__ = newProto;发布于 2019-04-08 17:22:40
因为我不能评论,所以我会留下一个答案:
我也有同样的问题,@Nodarius的回答对我很有效。既然你没有接受,我想你的问题仍然存在。
这可能是因为,即使您在中运行,您也需要在页面加载之前(或网站访问变量之前)运行该代码。
我使用一个代理(https://mitmproxy.org/)来实现这一点,它在页面加载之前加载脚本。
希望能有所帮助。
发布于 2019-05-15 03:20:55
这是可行的
await page.evaluateOnNewDocument(() => {
window.navigator = {}
})https://stackoverflow.com/questions/53934397
复制相似问题