目 录CONTENT

文章目录

python搭配selenium实现滑动验证码自动化

筱晶哥哥
2023-05-27 / 0 评论 / 0 点赞 / 145 阅读 / 3548 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-03-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

本文介绍如何实现滑块验证界面自动化,一般滑块验证是对数据的一层拦截,我们需要获取数据就得操作滑块验证,这里使用python搭配selenium实现滑动验证码自动化。

代码

https://gitee.com/xiaojinggege/job-spider

环境

下载代码,工具在tools文件夹中。

文件用途
python-3.9.0-amd64.exepython安装包
google-chrome.exechrome浏览器安装包,此处为111版本
chromedriver.exe对应chrome111版本的驱动,如果你的chrome浏览器版本不是111,请去下载对应版本的driver,地址在文末,将此文件放到python安装目录中,和python.exe同级
WinHex_20.8_SR-0_Single.exe16进制编辑器

运行

下载代码,使用pycharm打开,直接运行main.py,可以根据自己的需求定制url,或者其他参数。

禁用chrome自动升级

禁用谷歌Chrome浏览器自动升级,因为chrome升级到最新的话,这里的111版本的chromedriver就不兼容了,除非自行将chromedriver替换成当前Chrome浏览器升级后对应的版本,需要自己去下载,我这里直接就禁用了升级。

右键单击【计算机】——【管理】——【计算机管理本地】——【系统工具】——【任务计划程序】——【任务计划程序库】——这里找到两个和Google自动更新相关的任务计划【GoogleUpdateTaskMachineCore】与【GoogleUpdateTaskMachineUA】,把这两个选项禁用。

这里只有两个关于Google的选项,有的是三个,不管几个都禁用就可以了。

在【服务和应用程序】——【服务】,这里找到了两个和Google更新相关的服务【Google更新服务(gupdate)】、【Google更新服务(gupdatem)】,右键——选择属性——启动类型禁用即可。

Chrome更新是利用update里的升级程序来升级的,所以可以删除里面的文件。

但是如果直接删除Chrome又会自动生成。所以可以考虑切断这一步,只要Chrome没法在Update文件夹里生成更新程序,那么Chrome就无法升级了。

所以首先清空Update文件夹并设置权限,让Chrome没有权限修改这个文件夹。

删除C:\Program Files (x86)\Google\Update目录中的所有内容

然后右键Update文件夹,打开属性,点击“安全”选项卡,System完全控制权设置为拒绝。System是最高权限,设置完了之后Chrome就没有权限动这个文件了。

点击高级,选择编辑权限

点击禁用继承 ,将所有允许,都删除,只剩拒绝,然后确定

再次点击 Update 文件夹 弹出 你当前无权访问该文件夹,证明我们已经配置成功。(此时谷歌浏览器自动更新将没有权限访问更新文件夹)

Chrome浏览器自动更新失败右上角会有弹窗提示

关闭弹窗的话需要右键chrome应用程序,选择属性,在目标选项的末尾输入

--disable-background-networking

然后应用,确定,重启即可。

实在觉得麻烦的话,直接去下载最新版本的 chromedriver.exe

本人写作时Google Chrome最新版本为113,对应版本chromedriver.exe也放在里面了

Chrome相关

Google Chrome 谷歌浏览器所有历史版本(含95内核以前的版本)

Chrome浏览器最新离线版下载

Chrome Driver

参考

selenium---滑动框验证码破解

python+selenium爬虫之解决51job滑块验证失败

其他说明

由于不同网站的滑块验证可能具有差异,因此具体的解决方案需要结合实际情况进行修改和优化。

由于防爬手段的升级,此种方式可能不是长久之计。

此外,在使用任何自动化工具进行数据爬取和处理时,一定要遵守相关法律法规和网站的使用协议。

0

评论区