【Python】selenium 获取滑块和背景图在电脑屏幕的相对位置【解决滑块验证码问题】

在使用python模拟爬取的时候,解决滑动验证码是不可缺少的环节。怎么解决滑动验证码的问题呢,我们可以试着使用这样的方法:

我们在解决滑块验证码问题的时候,首先要找到滑块和在网页上的位置,定位好位置以后,方便模拟鼠标移动。(如图:)

获取滑块和背景图在电脑屏幕的相对位置的逻辑是这样的:

  1. 获取滑块在整个电脑屏幕上的像素位置,以及获取电脑屏幕的像素,屏幕尺寸信息,网页尺寸信息

  2. 计算滑块相对于整个屏幕上的位置,然后再计算出像素位置,这样可以排除像素和物理长度的差别

    公式:滑块的相对位置= (滑块的图片像素+ 电脑屏幕的像素 - 网页尺寸) * (电脑屏幕的像素 / 屏幕尺寸)

  3. 找到滑块的初始位置,以及计算终点边缘,最后计算滑块的距离长度

  4. 获取滑块在整个电脑屏幕上的像素位置

1. 获取滑块在整个电脑屏幕上的像素位置

方法见:【Python】selenium获取定位元素大小、电脑屏幕的像素、屏幕尺寸信息、以及网页尺寸的方法

2. 计算滑块的位置,并拖动它解决验证码的问题

方法见:【Python】seleniuim 计算滑块元素的位置,以及拖动完成滑块验证码

相关推荐
找了一圈尾巴1 小时前
Wend看源码-Java-Collections 工具集学习
java·开发语言·学习
一只搬砖的猹3 小时前
cjson——excel转json文件(python脚本转换)
c++·人工智能·python·单片机·物联网·json·excel
Ai 编码助手3 小时前
Go 语言 API 限流实战:保障系统稳定性的护盾
开发语言·后端·golang
guohun014 小时前
selenium 确保页面完全加载
selenium·测试工具
玩大数据的龙威4 小时前
【ArcGIS Pro】完整的nc文件整理表格模型构建流程及工具练习数据分享
开发语言·python
唐棣棣5 小时前
期末速成C++【知识点汇总完】
开发语言·c++
yannan201903135 小时前
【数据结构】(Python)差分数组。差分数组与树状数组结合
开发语言·python·算法
llzhang_fly6 小时前
Python 学习-01
服务器·python·学习
WongKyunban6 小时前
Bash Shell知识合集
开发语言·chrome·bash
致命的邂逅7 小时前
python调用gemini2.0接口识别图片文字
python