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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
databook11 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar12 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805112 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_12 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机19 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机20 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机20 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机20 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i20 小时前
drf初步梳理
python·django
每日AI新事件20 小时前
python的异步函数
python