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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
深蓝电商API几秒前
初级爬虫反爬应对:解决 403、IP 限制的简单方法
爬虫·python
闲人编程30 分钟前
Python协程的演进:从yield到async/await的完整历史
java·前端·python·async·yield·await·codecapsule
q***925138 分钟前
PHP操作redis
开发语言·redis·php
睿思达DBA_WGX41 分钟前
使用 Python 的第三方库 xlrd 读取 Excel 文件
python·excel
大佬,救命!!!1 小时前
python实现五子棋
开发语言·python·个人开发·pygame·少儿编程·五子棋
动感小麦兜1 小时前
应用-常用工具部署命令
java·开发语言
立志成为大牛的小牛2 小时前
数据结构——五十一、散列表的基本概念(王道408)
开发语言·数据结构·学习·程序人生·算法·散列表
明知道的博客4 小时前
解决WSL环境下DeepSeek-OCR运行时内存不足问题
python·ocr·deepseek·deepseek-ocr
机灵猫4 小时前
java锁:从 Mark Word 锁升级到 AQS
java·开发语言
FreeCode4 小时前
LangGraph1.0智能体开发:Graph API概念与设计
python·langchain·agent