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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
geovindu11 小时前
go: Lock/Mutex Pattern
开发语言·后端·设计模式·golang·互斥锁模式
知识分享小能手11 小时前
R语言入门学习教程,从入门到精通,R语言日期和时间序列(6)
开发语言·学习·r语言
狐狐生风11 小时前
使用 UV 创建并运行 Python 项目(完整步骤)
python·uv
叼烟扛炮11 小时前
C++ 知识点18 内部类
开发语言·c++·算法·内部类
噜噜噜阿鲁~11 小时前
python学习笔记 | 9.2、模块-安装第三方模块
笔记·python·学习
现代野蛮人11 小时前
【深度学习】 —— VGG-16 网络实现猫狗识别
网络·人工智能·python·深度学习·tensorflow
一个小猴子`12 小时前
Pytorch快速复习
人工智能·pytorch·python
TAN-90°-12 小时前
Java 3——getter和setter super()关键字
java·开发语言
wand codemonkey12 小时前
(二十七)Maven(依赖)【安装】+【项目结构】
java·开发语言·maven
linda公馆12 小时前
Maven项目报错:java:错误:不支持发行版本 5
java·开发语言·maven