您当前的位置:首页 > 电脑百科 > 软件技术 > 软件技术

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

时间:2022-04-06 09:45:11  来源:掘金  作者:程序那点事

Selenium 操作被屏蔽

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

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

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

 

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

Selenium为何会被检测

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

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

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

 

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

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

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

 


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

 

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

Selenium避免被检测方法

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

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

我在 Selenium连接已存在的浏览器1 这篇文章详细记录了需要的步骤,概括起来:

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)

我是九柄,感谢耐心阅读,下次见。


作者:九柄
链接:
https://juejin.cn/post/7083138870962814989



Tags:Selenium   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前言本文整理归纳以往的工作中用到的东西,现汇总成基础测试框架提供分享。框架采用python3 + selenium3 + PO + yaml + ddt + unittest等技术编写成基础测试框架,能适应日常测...【详细内容】
2022-08-22  Tags: Selenium  点击:(41)  评论:(0)  加入收藏
遇到网页加载慢,selenium运行效率降低,可以通过修改页面加载策略提升自动化效率。selenium加载很慢通过URL导航到新页面时,默认情况下,Selenium将等待文档完全被加载才会执行下...【详细内容】
2022-07-30  Tags: Selenium  点击:(311)  评论:(0)  加入收藏
首先你得知道什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、...【详细内容】
2022-05-10  Tags: Selenium  点击:(70)  评论:(0)  加入收藏
Selenium 操作被屏蔽使用selenium自动化网页时,有一定的概率会被目标网站识别,一旦被检测到,目标网站会拦截该客户端做出的网页操作。比如淘宝和大众点评的登录页,当打开浏览器,...【详细内容】
2022-04-06  Tags: Selenium  点击:(94)  评论:(0)  加入收藏
前言目前是直播行业的一个爆发期,由于国家对直播行业进行整顿和规范,现在整个直播行业也在稳固发展。随着互联网和网络直播市场的快速发展,相信未来还有广阔的发展前景。今天用...【详细内容】
2022-03-15  Tags: Selenium  点击:(138)  评论:(0)  加入收藏
第一步:pip install selenium 第二步:查看自己的谷歌浏览器版本 第三步:浏览器输入chromedriver mirror,查找与自己谷歌浏览器版本最相近的压缩包,但不能超过该版本。 因为...【详细内容】
2022-02-08  Tags: Selenium  点击:(303)  评论:(0)  加入收藏
相比于高大上的各种Selenium进阶指南,个人认为夯实基础至关重要在Selenium测试框架的API中,主要分为三大类:1.对浏览器本身的相关操作2.对浏览器页面中,元素的定位操作3.对浏览...【详细内容】
2021-07-08  Tags: Selenium  点击:(233)  评论:(0)  加入收藏
在写爬虫的时候,为了效率我们通常会选择解析网页api来获取数据,但是有时候解析方式比较困难,或者我们纯粹是为了快速实现爬虫,会使用浏览器自动化操作,说起这一点,肯定第一个想到...【详细内容】
2020-10-27  Tags: Selenium  点击:(189)  评论:(0)  加入收藏
Chrome官方网站已经说的很清楚,不再支持6.x的CentOS,至少7以上。 可是很多时候我们使用的服务器版本并不能随便升级,即便已经很难受了,但是还得继续使用低版本,装起来那是真叫一...【详细内容】
2020-08-10  Tags: Selenium  点击:(179)  评论:(0)  加入收藏
由于在实际的测试环境下,使用图形界面的浏览器占用测试机资源过大效率低, 一般来说,在调试好脚本的基础上,抛开浏览器图形界面执行测试用例的.现在可以使用的无头浏览器有很...【详细内容】
2020-06-26  Tags: Selenium  点击:(123)  评论:(0)  加入收藏
▌简易百科推荐
什么是openssl OpenSSL是一个加密工具包,实现了安全套接字层(SSL v2/v3)和传输层安全(TLS v1)网络协议以及它们所需的相关加密标准。openssl程序是一个命令行工具,用于从shell...【详细内容】
2022-10-19  猪瘾犯了  今日头条  Tags:openssl   点击:(3)  评论:(0)  加入收藏
有小伙伴使用谷歌浏览器,如果英文认起来比较困难,不是太方便使用,所以想更改成中文,方便使用。或者是因为目标国家不一样,想更改浏览器语言,可以更沉浸式体验使用谷歌。或者是一些...【详细内容】
2022-10-17  跨境出海陆路  今日头条  Tags:谷歌浏览器   点击:(6)  评论:(0)  加入收藏
来源:【后厂造】系统版本:TC10在TC9以上的版本中,配置dwg文件可视化预览,只需要配置一个首选项,而不再需要配置tcviewer文件和customer文件。这个功能可以应用到今后客户在系统中...【详细内容】
2022-10-17  213青年快乐多  今日头条  Tags:DWG   点击:(7)  评论:(0)  加入收藏
前言在前面介绍了通过openlayers加载dwg格式的CAD图并与互联网地图叠加,openlayers功能很全面,但同时也很庞大,入门比较难,适合于大中型项目中。而在中小型项目中,一般用开源的le...【详细内容】
2022-10-17  vjmap  今日头条  Tags:CAD   点击:(6)  评论:(0)  加入收藏
1、打开QQ浏览器,点击“工具”,然后点击下拉中的“Internet选项”2、弹出Internet选项窗口、点击“连接”,点击“局域网设置”3、在弹出的“局域网LAN设置”中,代理服务器的复选...【详细内容】
2022-10-13  萌小翊  搜狐号  Tags:HTTP代理   点击:(5)  评论:(0)  加入收藏
一、软件介绍 Adobe Animate 2020是由adobe最近发布的一个版本,相信很多人对该软件都不陌生,这是一款功能强大的动画绘图工具,专为Windows PC设计交互式2D动画,同时可快速帮助用...【详细内容】
2022-10-12  知识兔   搜狐号  Tags:Adobe Animate   点击:(21)  评论:(0)  加入收藏
最近谷歌官方宣称由于使用人数少,关停了中国的翻译服务,导致谷歌浏览器上的翻译服务无法使用,当我们使用谷歌浏览器自带翻译功能时,会报出:无法翻译此网页,或者没有翻译反应。在ma...【详细内容】
2022-10-12  浅巷墨漓  搜狐号  Tags:Chrome   点击:(78)  评论:(0)  加入收藏
小编想问问大家,在平时开发的时候用什么软件?操作数据库又用什么软件?大家可以先不急着回答问题,跟随小编一起来看看IT程序员常用的软件工具盘点。小编将会给大家安利一些的的...【详细内容】
2022-10-12  青烟小生x     Tags:软件工具   点击:(14)  评论:(0)  加入收藏
1、打开搜狗浏览器,选择 工具—代理设置-添加新代理2、点击添加新代理进入“代理设置”界面3、填写代理名称及代理地址和端口4、点击确定,跳转至“自定义代理”界面,勾选...【详细内容】
2022-10-12  萌小翊  搜狐号  Tags:HTTP代理   点击:(6)  评论:(0)  加入收藏
首先,开机进入用户登录界面,按住键盘shift键,重启电脑️。开机按F8键进入带命令安全模式。 出现安全模式“命令页面”后,在命令提示符里,跳转到系统盘目录下,注意可以使用 cd 命令...【详细内容】
2022-10-11  智能化弱电工程分享  今日头条  Tags:电脑密码   点击:(2)  评论:(0)  加入收藏
站内最新
站内热门
站内头条