Python Selenium 验证码处理:循环验证直至成功

在自动化测试中,处理验证码是常见且重要的环节。本篇将介绍如何使用 Python Selenium 实现验证码输入的循环验证,确保脚本在验证码输入错误时能够自动重试,提高脚本的稳定性。

代码示例

以下是优化后的 Python 代码,使用 while 循环实现验证码的重复验证:

try:
    while True:
        element = wd.find_element(By.ID, 'validateCode')  # 找到验证码输入框
        captcha = input('请输入验证码:')  # 等待手动输入验证码
        element.clear()  # 清除内容
        element.send_keys(captcha)  # 输入验证码
        time.sleep(1)
        # 判断验证码是否正确
        if '验证码错误' in wd.page_source:
            print('验证码输入错误,请重新输入')
            continue
        else:
            break  # 输入正确,退出循环
except:
    print('验证码输入失败')

代码解析

  1. 循环验证: 使用 while True 语句创建一个无限循环,直到验证码输入正确才会跳出循环。
  2. 查找元素: wd.find_element(By.ID, 'validateCode') 用于定位验证码输入框。
  3. 输入验证码: element.send_keys(captcha) 将用户输入的验证码发送到输入框。
  4. 验证结果: 通过检查页面源码中是否存在特定信息(例如 '验证码错误'),判断验证码是否输入正确。
  5. 错误处理: 如果验证码输入错误,打印提示信息并使用 continue 继续循环,重新输入验证码;如果输入正确,使用 break 跳出循环。
  6. 异常处理: 使用 try...except 块捕获潜在的异常,例如元素未找到等。

总结

通过上述代码优化,实现了验证码输入的循环验证,提高了自动化脚本的容错性和稳定性。在实际应用中,可以根据具体需求调整验证逻辑和错误处理机制。

Python Selenium 验证码输入优化:循环验证直至成功

原文地址: https://www.cveoy.top/t/topic/jpCS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录