验证码高级---滑动验证码破解
破解思路(技术要点)
这里只讲一讲思路和基本的实现方式,程序如何编写请参考下一文案例。由简入难:
(一)滑块如何拖动,鼠标操作如何实现
ActionChains是selenium里面专门处理鼠标相关的操作如:鼠标移动,鼠标按钮操作,按键和上下文菜单(鼠标右键)交互。这对于做更复杂的动作非常有用,比如悬停和拖放。
导包:
from selenium.webdriver.common.action_chains import ActionChains
click_and_hold:点住并且保持。
perform:鼠标悬浮,何为悬停,就是鼠标箭头保持在按钮上,因为使用selenium驱动浏览器时鼠标其实还是受人控制的,因此需要页面记录悬停这个状态。否则验证码很容易就检测到非人操作了。
ActionChains(driver).click_and_hold(on_element=页面元素).perform()
move_by_offset:滑块拖动
ActionChains(driver).move_by_offset(xoffset=distance, yoffset=0).perform()
移动到目标位置之后释放鼠标(悬浮释放
A