csdn_okcheng
滑动验证码的识别介绍
- 本节目标:
用程序识别极验滑动验证码的验证,包括分析识别思路、识别缺口位置、生成滑块拖动路径、模拟实现滑块拼合通过验证等步骤。
- 准备工作:
本次案例我们使用Python库是Selenium,浏览器为Chrome。请确保已安装Selenium库和ChromeDriver浏览器驱动。
- 了解极验滑动验证码:
极验滑动验证码官网为:http://www.geetest.com/
验证方式为拖动滑块拼合图像,若图像完全拼合,则验证成功,否则需要重新验证,如图所示:
接下来我们链接地址:https://account.geetest.com/login,打开极验的管理后台登录页面,完成自动化登录操作。
实现步骤:
① 初始化
初始化链接地址、创建模拟浏览器对象、设置登录账户和密码等信息。
EMAIL = '登录账户'
PASSWORD = '登录密码'
class CrackGeetest():
def __init__(self):
self.url = 'https://account.geetest.com/login'
self.browser = webdriver.Chrome()
#设置显示等待时间
self.wait = WebDriverWait(self.browser, 20)
self.email = EMAIL
self.password = PASSWORD
def crack():
pass
# 程序主入口
if __name__ == '__main__':
crack = CrackGeetest()
crack.crack()
② 模拟登录填写,点开滑块验证
-
在实例化CrackGeetest对象后调用crack()方法开始模拟登录验证…
-
调用open()方法,打开登录界面,获取账户和密码输入框节点,完成账户和密码的输入。
-
调用get_geetest_button()方法获取滑动验证按钮,并点击。
class CrackGeetest():
#...
def get_geetest_button(self):
''' 获取初始验证按钮,return:按钮对象 '''
button = self.wait.until(EC.element_to_be_clickable((By.CLASS_NAME, 'geetest_radar_tip')))
return button
def open(self):
''' 打开网页输入用户名密码, return: None '''
self.browser.get(self.url)
email = self.wait.until(EC.presence_of_element_located((By.ID, 'email')))
password = self.wait.until(EC.presence_of_element_located((By.ID, 'password')))
email.send_keys(self.email)
password.send_keys

本文介绍用Python程序识别极验滑动验证码的验证。使用Selenium库和Chrome浏览器,通过初始化、模拟登录填写、获取并储存有无缺口的两张图片、获取缺口位置、获取移动轨迹、按轨迹拖动完成验证等步骤,实现极验管理后台登录页面的自动化登录。
最低0.47元/天 解锁文章
1541





