【发布时间】:2017-06-29 09:33:17
【问题描述】:
这是我的第一个 Stack Overflow 问题,请多多包涵。
我已经阅读了this SO question,这让我想知道,是否有可能让 chromedriver 完全无法检测到?
出于我自己的好奇,我测试了所描述的方法,发现它无法成功创建一个完全匿名的浏览器。
我通读了驱动程序的文档,发现:
partial interface Navigator { readonly attribute boolean webdriver; };Navigator 接口的 webdriver IDL 属性必须返回 webdriver-active 标志的值,初始值为 false。
此属性允许网站确定用户代理受 WebDriver 控制,并可用于帮助缓解拒绝服务攻击。
但是,我什至无法通过浏览器控制台或源代码找到这些标签的位置。
我想这是负责检测chromedriver的,但是在梳理源码后,我找不到这个接口。结果,这让我想知道这个功能是否包含在当前的 chromedriver 中。如果没有,我仍然知道当前的chromedriver可以被网站和其他服务如distill检测到。
【问题讨论】:
-
你到底想做什么?创建一个“匿名”用户代理或让 ChromeDriver 充当“常规”Chrome 浏览器?您遇到的实际问题是什么?
-
根据定义 chromedriver 是一个“常规”的 chrome 浏览器。它利用 JSON 线框协议将消息发送到“真正的”chrome 浏览器。但是,值得注意的是,它肯定可以作为 selenium webdriver 检测到。我想从浏览器中清除此检测,以创建服务器将其视为真正真实浏览器的内容。这样我就可以根据自己的喜好自定义当前的浏览器,而不必担心网站会认为我正在尝试执行 DDOS 攻击,从而限制我访问他们的网站。
-
我认为您正试图发起 DDOS 攻击。我来帮你! -- 实际上,网站使用比检测硒更复杂的技术来检测机器人。
标签: java selenium selenium-chromedriver