Selenium自动化程序被检测为爬虫,怎么屏蔽和绕过

这篇具有很好参考价值的文章主要介绍了Selenium自动化程序被检测为爬虫,怎么屏蔽和绕过。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Selenium 操作被屏蔽

使用selenium自动化网页时,有一定的概率会被目标网站识别,一旦被检测到,目标网站会拦截该客户端做出的网页操作。

比如淘宝和大众点评的登录页,当手工打开浏览器,输入用户名和密码时,是能正常进入首页的,但是如果是通过selenium打开, 会直接提示验证失败,点击框体重试。

selenium被检测,软件测试,自动化测试,技术分享,selenium,自动化测试,测试工程师,软件测试,爬虫

本文介绍一种办法,不需要修改浏览器属性,不需要注入JavaScript脚本,也能轻松绕过网站检测。

Selenium为何会被检测

每一个浏览器访问网站时,都会带上特定的指纹特征,网站会解析这些特征,从而判断这次访问是不是自动化程序。

一个最广为人知的特征是window.navigator.webdriver,该特征直接标明此浏览器是webdriver程序。当一个浏览器通过selenium启动后,在开发者工具中输入这个属性,会发现被标为 true, 而手工打开的浏览器是 false。

selenium被检测,软件测试,自动化测试,技术分享,selenium,自动化测试,测试工程师,软件测试,爬虫

实际上,浏览器被检测为webdriver程序的特征并不止这一个,这意味着,就算你通过修改属性,也不一定能绕过网站的检测。

我们可以通过 sannysoft 来检测浏览器指纹,如果浏览器是通过selenium等自动化程序打开的,访问这个网址后会有很多特征暴露这些指纹,这些特征的值和手工打开后的值是不一样的,因此可以很轻易被别人检测出来。

selenium被检测,软件测试,自动化测试,技术分享,selenium,自动化测试,测试工程师,软件测试,爬虫

selenium被检测,软件测试,自动化测试,技术分享,selenium,自动化测试,测试工程师,软件测试,爬虫

有人也试图不用selenium,换成puppeter和playwright这样的自动化工具,但是结局都是一样的。

Selenium避免被检测方法

浏览器在启动时就会带上指纹特征,如果使用自动化程序启动时已经被标记,那为什么不直接用手工启动,然后用Selenium连接已经启动的浏览器呢?

那手工打开浏览器要做什么操作才能让Selenium连接呢?Selenium又是怎样连接手工打开的浏览器呢?概括起来:

1、打开浏览器时添加以下参数:

--remote-debugging-port=9222 --user-data-dir="C:\\selenium\\ChromeProfile"

2、selenium中设置浏览器选项,通过上面设置的 9222端口连接浏览器:

from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
driver = webdriver.Chrome(options=chrome_options)

通过 subprocess 运行浏览器

当然,做自动化程序一般不会手工点击图标来打开浏览器,我们可以用命令行启动浏览器,然后再用 selenium 连接。

import subprocess
cmd = '"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" ' \\
'--remote-debugging-port=9222 ' \\
'--user-data-dir="C:\\selenium\\ChromeProfile"'

subprocess.run(cmd)

END配套学习资源分享

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

selenium被检测,软件测试,自动化测试,技术分享,selenium,自动化测试,测试工程师,软件测试,爬虫

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

selenium被检测,软件测试,自动化测试,技术分享,selenium,自动化测试,测试工程师,软件测试,爬虫

全套资料获取方式:

selenium被检测,软件测试,自动化测试,技术分享,selenium,自动化测试,测试工程师,软件测试,爬虫文章来源地址https://www.toymoban.com/news/detail-596991.html

到了这里,关于Selenium自动化程序被检测为爬虫,怎么屏蔽和绕过的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络请求爬虫【requests】和自动化爬虫【selenium】

    在Python开发的爬虫项目中, requests 和 selenium 是两个常用的库,它们各有特点和应用场景。 相同点 数据抓取: 无论是 selenium 还是 requests ,两者的基本目的都是为了从网络上抓取数据。 自动化: 它们都能够自动化地访问网页,获取需要的信息。 不同点 工作原理: requests 直

    2024年02月20日
    浏览(42)
  • 爬虫-selenium自动化(3)-验证码

    #验证码分很多种,奇葩也无处不在:哪个是真茅台,红绿灯,摩托车......(我是个人都看不出来) (๑ó﹏ò๑) #本节内容为selenium自动化实现验证码通过-------字符验证码,点触验证码。            

    2024年01月21日
    浏览(44)
  • python爬虫(七)--------selenium自动化

    查找方法(python3.7之前版本) find_element_by_id 根据id属性来定位 find_element_by_name 根据name元素来定位 find_element_by_xpath 根据xpath语法来定位 find_element_by_tag_name 根据标签名来定位 find_element_by_class_name 根据class的名字来定位 find_element_by_css_selector 根据css选择器来定位 以下两种方法都

    2024年01月16日
    浏览(63)
  • 爬虫 + 自动化利器---selenium详解以及实战项目

    什么是selenium Selenium是一个用于Web应用程序测试的工具。 只要在测试用例中把预期的用户行为与结果都描述出来,我们就得到了一个可以自动化运行的功能测试套件。 Selenium测试套件直接运行在浏览器中,就像真正的用户在操作浏览器一样。 Selenium也是一款同样使用Apache Li

    2024年02月09日
    浏览(43)
  • Python爬虫之自动化测试Selenium#7

    在前一章中,我们了解了 Ajax 的分析和抓取方式,这其实也是 JavaScript 动态渲染的页面的一种情形,通过直接分析 Ajax,我们仍然可以借助 requests 或 urllib 来实现数据爬取。 不过 JavaScript 动态渲染的页面不止 Ajax 这一种。比如中国青年网(详见 国内_新闻频道_中国青年网),

    2024年02月20日
    浏览(40)
  • 【0基础学爬虫】爬虫基础之自动化工具 Selenium 的使用

    大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章,为实现从易到难全方位覆盖,特设【0基础学爬虫】专栏,帮助小白快速入门爬虫,本期为自动化

    2023年04月20日
    浏览(44)
  • Python爬虫实战——Lazada商品数据(selenium自动化爬虫,xpath定位)

            在此说明,这个项目是我第一次真正去爬的一个网站,里面写的代码我自己都看不下去,但是已经不想花时间去重构了,所以看个乐呵就好,要喷也可以(下手轻一点)。这篇文算是记录我的学习中出现的一些问题,不建议拿来学习和真拿我的代码去爬Lazada的数据,

    2024年02月02日
    浏览(56)
  • Python爬虫技术之Selenium自动化测试及模拟点击页面爬虫最全知识

    Selenium是一套Web网站的程序自动化操作解决方案(比如点击界面按钮,在文本框中输入文字等操作) Selenium的自动化原理如下 3.1 下载selenium库的命令 3.2 下载谷歌浏览器Chrome对应的驱动 驱动库网址:http://chromedriver.storage.googleapis.com/index.html 注意:根据自己的Chrome版本进行选择

    2024年01月16日
    浏览(67)
  • 爬虫学习(13):selenium自动化测试(二):等待页面加载完成

    在上一篇已经讲过了大部分的知识点和实战,本篇主要内容为知识点回顾和多个元素的定位知识点补充,以及补充页面加载知识点和案例。 在一个页面中有很多不同的策略可以定位一个元素。在你的项目中,你可以选择最合适的方法去查找元素。Selenium提供了下列的方法给你

    2024年02月06日
    浏览(52)
  • 爬虫学习(16):selenium自动化测试:人为模拟滑块移动

    场景描述:本次项目是给一个学校的填体温系统,做了一个自动填报工具,遇到了一个滑块,需要模拟移动一下。 这里只对滑块模拟部分代码进行展示,以帮助大家面临这种移动问题的解决。 思想其实很简单,就是模拟人慢慢的拖动。其实有个技术难点是缺口的识别,计算移

    2024年02月16日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包