首页 >web前端 >js教程 >即使没有显式自动化,网站也能检测到 Selenium 吗?

即使没有显式自动化,网站也能检测到 Selenium 吗?

Barbara Streisand
Barbara Streisand原创
2024-12-19 17:29:08267浏览

Can Websites Detect Selenium Even Without Explicit Automation?

破译 Selenium 检测技术

即使不涉及自动化,网站也确实可以检测 Selenium 使用情况吗?这个持续存在的问题让用户感到困惑,他们质疑 Web 服务器如何查明 Selenium 的存在,尽管他们期望 Selenium 和 Chrome 对他们来说应该无法区分。

事实证明,机器人检测脚本利用预定义的 JavaScript 变量来揭示 Selenium 的在场。这些带有“selenium”或“webdriver”等名称的变量在各种浏览器环境中充当警示标志。

为了规避这种检测,开发人员可以采取各种策略。一种巧妙的方法涉及修改 Chromedriver 源代码,特别是“getPageCache”函数,并用无害的替代方案替换臭名昭著的“$cdc_”变量。这种微妙的变化阻碍了机器人网络识别 Selenium 的存在。

除了这种特定方法之外,机器人网络还采用了一系列复杂的技术来揭露 Selenium。他们在浏览器环境中搜索可疑变量,无论是在“窗口”还是“文档”对象中。通过匹配已知模式,这些算法以惊人的准确度暴露了 Selenium 的存在。

这些模式的示例包括:

  • 窗口变量: "_phantom", "callSelenium ", "__webdriver_unwrapped"
  • 文档变量: "__webdriver_evaluate", "document.documentElement.getAttribute("selenium")"

为了逃避检测,开发人员可以采取对策,例如替换或清理可疑变量或合并浏览器扩展掩盖 Selenium 的足迹。机器人网络和 Selenium 用户之间的战斗不断演变,双方都开发出越来越聪明的检测和规避策略。

以上是即使没有显式自动化,网站也能检测到 Selenium 吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn