最佳答案
我试图自动化一个非常基本的任务在网站上使用硒和铬,但不知何故,网站检测时,铬是由硒驱动,并阻止每一个请求。我怀疑该网站是依赖于一个公开的 DOM 变量,如此一个 https://stackoverflow.com/a/41904453/648236,以检测硒驱动的浏览器。
我的问题是,有没有什么方法可以让导航器 webDriver 的标志变成假的?我愿意在进行修改之后尝试重新编译 selenium 源代码,但是我似乎在存储库 https://github.com/SeleniumHQ/selenium的任何地方都找不到 NavigatorAutomationInformation 源代码
非常感谢你的帮助
附注: 我还尝试了 https://w3c.github.io/webdriver/#interface中的以下内容
Object.defineProperty(navigator, 'webdriver', {
get: () => false,
});
但是它只在初始页面加载之后更新属性。我认为站点会在我的脚本执行之前检测到变量。