小编Aja*_*nth的帖子

Selenium webdriver:修改navigator.webdriver标志以防止硒检测

我正在尝试使用selenium和chrome在网站中自动执行一项非常基本的任务,但不知何故,网站检测到chrome由硒驱动并阻止每个请求.我怀疑该网站依赖于一个暴露的DOM变量,如/sf/answers/2933311741/来检测selenium驱动的浏览器.

我的问题是,有没有办法让navigator.webdriver标志为假?我愿意在修改之后尝试重新编译硒源,但我似乎无法在存储库中的任何地方找到NavigatorAutomationInformation源https://github.com/SeleniumHQ/selenium

任何帮助深表感谢

PS:我还从https://w3c.github.io/webdriver/#interface尝试了以下内容

Object.defineProperty(navigator, 'webdriver', {
    get: () => false,
  });
Run Code Online (Sandbox Code Playgroud)

但它只在初始页面加载后更新属性.我认为该网站在我的脚本执行之前检测到该变量.

java selenium webdriver selenium-webdriver webdriver-w3c-spec

10
推荐指数
9
解决办法
5531
查看次数