在使用python模拟爬取的时候,解决滑动验证码是不可缺少的环节。怎么解决滑动验证码的问题呢,我们可以试着使用这样的方法:
我们在解决滑块验证码问题的时候,首先要找到滑块和在网页上的位置,定位好位置以后,方便模拟鼠标移动。(如图:)
获取滑块和背景图在电脑屏幕的相对位置的逻辑是这样的:
获取滑块在整个电脑屏幕上的像素位置,以及获取电脑屏幕的像素,屏幕尺寸信息,网页尺寸信息
计算滑块相对于整个屏幕上的位置,然后再计算出像素位置,这样可以排除像素和物理长度的差别
公式:滑块的相对位置= (滑块的图片像素+ 电脑屏幕的像素 - 网页尺寸) * (电脑屏幕的像素 / 屏幕尺寸)
找到滑块的初始位置,以及计算终点边缘,最后计算滑块的距离长度
获取滑块在整个电脑屏幕上的像素位置
1. 获取滑块在整个电脑屏幕上的像素位置
方法见:【Python】selenium获取定位元素大小、电脑屏幕的像素、屏幕尺寸信息、以及网页尺寸的方法