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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
Dev _1 小时前
PyCharm旧进程仍在后台运行,导致新实例无法启动或连接
ide·python·pycharm
Canmag 兴隆磁性1 小时前
回复磁导率 μ_R:永磁体在动态磁路中的关键参数
开发语言·学习·r语言·永磁材料·充磁·磁导率
CRMEB系统商城1 小时前
鲜花零售的预售与积分营销
开发语言·人工智能·科技·小程序·零售
Wang's Blog2 小时前
Java 项目实战: 交友项目 - 喜欢与取消喜欢
java·开发语言·交友
quantdash_cc2 小时前
如何检查滚动收益率计算中的窗口长度不足?——从数学定义到 Pandas 实现
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
砚底藏山河2 小时前
python量化:实时行情WebSocket断线重连状态机
java·python·websocket·金融
衍生星球3 小时前
【Java 语言】— 方法(方法定义、调用、参数、返回值、方法重载)
java·开发语言·方法
CodeGL3 小时前
16、Python Web开发
开发语言·前端·python
喵了几个咪3 小时前
GoWind UBA 拆解:把 Doris UNIQUE KEY 翻译成 ClickHouse——读数正确性对齐实录
开发语言·后端·clickhouse·微服务·golang·gowind
加点盐3 小时前
别再用 configparser 了:给本地配置加上加密、校验和版本迁移
python