无头浏览器检测

时间:2019-03-26 19:10:13

标签: selenium webdriver phantomjs puppeteer headless-browser

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

我已经创建了我的木偶在线爬虫。我已经更改了许多不同的内容,例如window.navigator对象(用户代理,〜.webdriver等)。

现在,我要确保它不可检测。

1 个答案:

答案 0 :(得分:2)

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

  • 用户代理是否包含字符串“ HeadlessChrome”?
  • navigator.webdriver是否未设置?
  • window.chrome是否未设置?
  • 浏览器是否跳过询问权限(例如通知)?
  • 浏览器插件不可用吗?
  • navigator.languages是否未设置?

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

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

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