无头浏览器检测

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无头浏览器检测相关的知识,希望对你有一定的参考价值。

您是否知道任何试图检测用户是否正在使用selenium / puppeteer / phantomJS或任何其他无头浏览器的webapps /在线测试/在线防火墙?

我已经创建了我的木偶在线爬虫。我已经改变了很多不同的东西,比如window.navigator对象(user-agent,〜.webdriver等)。

现在我想确保它是不可检测的。

答案

有一个headless browser detection test测试以下:

  • User-Agent是否包含字符串“HeadlessChrome”?
  • navigator.webdriver未设置?
  • window.chrome未设置?
  • 浏览器是否跳过要求权限(如通知)?
  • 浏览器插件不可用吗?
  • navigator.languages未设置?

如果您的浏览器回答任何问题,那么您将无法通过测试。有关测试的更多信息,请查看此post,这是对"Detecting Chrome headless, new techniques"帖子的回复。

后一篇文章的作者还发布了另一个测试testcode),声称能够检测机器人和爬虫。它对浏览器属性执行各种测试,并生成浏览器的指纹。

网站完成的其他“软”测试可能包括鼠标移动,滚动行为,IP地址等。我怀疑你会发现很多关于这些信息的测试,因为这基本上是一个猫捉老鼠的游戏。

以上是关于无头浏览器检测的主要内容,如果未能解决你的问题,请参考以下文章

爬虫04 /asyncioselenium规避检测动作链无头浏览器

反爬虫中chrome无头浏览器的几种检测与绕过方式

Selenium-Selenium配置无头浏览器+规避检测

十条实用的jQuery代码片段

无头浏览器是啥?它有啥用?

无头浏览器