. 浏览器指纹识别:
- 网站通常通过浏览器指纹识别来检测访问者的身份。浏览器指纹是浏览器在访问网站时提供的一组信息,包括浏览器类型、版本、插件、用户代理字符串、屏幕分辨率、语言设置、操作系统等。
- 当你使用 Selenium 或其他自动化工具时,某些指纹信息可能会暴露自动化工具的使用。例如,
navigator.webdriver
属性会返回true
,表明浏览器正在被自动化工具控制。
反自动化检测:
- 许多网站会检查特定的浏览器指纹特征来判断访问者是否使用了自动化工具。如果检测到不常见的或异常的浏览器行为,网站可能会采取措施,如显示 CAPTCHA 或阻止访问。
注入 JavaScript 代码的原理:
- 注入的 JavaScript 代码(如
stealth.min.js
)通常用于修改或隐藏这些特征,使得浏览器看起来像是由真实用户操作的。 - 例如,代码可以重写
navigator.webdriver
属性,使其返回false
,从而隐藏 Selenium 的存在。 - 此外,代码可能会拦截和修改与浏览器指纹相关的其他 API 调用,如
navigator.plugins
或navigator.languages
,以使浏览器表现得更像是由真实用户控制。 - 代码
-