Selenium爬虫:一行代码去掉所有webdriver痕迹

发表于:2021-9-08 09:37  作者:&天行健   来源:CSDN

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: selenium 自动化测试框架

  解决方案逻辑上很简单,就是selenium额外加了什么我们去除掉什么。
  我们先上没有去掉webdriver的selenium代码,访问:https://bot.sannysoft.com/
  from selenium import webdriver
   
  chrome_options = webdriver.ChromeOptions()
  chrome_options.add_experimental_option(
      "excludeSwitches", ["enable-automation"])
  chrome_options.add_experimental_option('useAutomationExtension', False)
  chrome_options.add_argument('lang=zh-CN,zh,zh-TW,en-US,en')
  chrome_options.add_argument(
      'user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36')
  driver = webdriver.Chrome(
      "./chromedriver", chrome_options=chrome_options)
  driver.get("https://bot.sannysoft.com/")
   
  测试结果截图:
  我们可以看到,webdriver被检测出来了,也就是说服务器知道你使用了selenium访问其网站。
  我们上去掉webdriver的代码的selenium代码:
  from selenium import webdriver
   
  chrome_options = webdriver.ChromeOptions()
  chrome_options.add_experimental_option(
      "excludeSwitches", ["enable-automation"])
  chrome_options.add_experimental_option('useAutomationExtension', False)
  chrome_options.add_argument('lang=zh-CN,zh,zh-TW,en-US,en')
  chrome_options.add_argument(
      'user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36')
  chrome_options.add_argument("disable-blink-features=AutomationControlled")#就是这一行告诉chrome去掉了webdriver痕迹
  driver = webdriver.Chrome(
      "./chromedriver", chrome_options=chrome_options)
  driver.get("https://bot.sannysoft.com/")
   
  测试结果截图:
  我们可以看到通过在chrome启动的时候加一个disable-blink-features=AutomationControlled的flag就可以实现降维打击,移除掉webdriver的痕迹,妈妈再也不用担心你加班了……
  如果你们认为做到以上:关闭webrtc、设置浏览器时区和地理位置、去掉webdriver就高枕无忧了吗?
  No,这还不够,服务器还能揪出你,你只能给老板发送以下短信。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理

评 论

论坛新帖



建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海信义律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2021, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道