python selenium验证码处理

这篇具有很好参考价值的文章主要介绍了python selenium验证码处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

某次我需要selenium处理验证码的时候,发现网上大部分文章都是对验证码的部分进行截屏然后抠图,然后OCR进行处理,我自己认为这种截屏抠图方式比较繁琐,于是我直接获取验证码base64数据或者bytes数据,然后OCR解析进行其他处理。

示例代码如下:

import undetected_chromedriver.v2 as uc
from selenium.webdriver.common.by import By
import ddddocr
import time


if __name__ == '__main__':
    browser = uc.Chrome()
    browser.get("https://support.huawei.com/enterprise/ecareWechat")
    # 隐式等待
    browser.implicitly_wait(5)
    # 处理内嵌html
    element = browser.find_element(by=By.CLASS_NAME, value="wechat")
    browser.switch_to.frame(element)
    # 定位到图片元素
    img = browser.find_element(by=By.XPATH, value='//*[@id="imgObj"]')
    # 获取图片bytes数据
    # data = img.screenshot_as_png
    # 获取图片base64数据
    data = img.screenshot_as_base64
    ocr = ddddocr.DdddOcr()
    # 进行验证码识别
    text = ocr.classification(img_base64=data)  # img_bytes=data 这是bytes数据传入时,但在pycharm 会冒黄,我也不清楚为啥
    print(text)
    time.sleep(5)
    browser.quit()

这样就能得到验证码字符串了

运行结果:

python selenium 验证码,selenium,测试工具

ddddocr python开源免费的OCR文字识别库

下载:pip install ddddocr

undetected_chromedriver      selenium防止被浏览器识别的github上的开源的包

下载:pip install undetected_chromedriver -i https://pypi.douban.com/simple  防selenium被识别(也会自动下载匹配浏览器selenium对应版本的chromedriver.exe)文章来源地址https://www.toymoban.com/news/detail-606112.html

到了这里,关于python selenium验证码处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python自动化测试工具selenium使用指南 ,绝对能帮到你

    目录 概述 python+selenium环境安装 使用selenium启动浏览器 selenium页面加载等待和检测 使用time.sleep()等待 使用implicitly_wait设置最长等待时间 使用WebDriverWait设置等待条件 检测document是否加载完成 selenium元素定位和读取 查找元素 dom元素交互 查找元素失败处理 selenium交互控制 Actio

    2024年02月08日
    浏览(53)
  • ubuntu 18.04 配置自动化测试工具 appium + selenium+python3

    sudo add-apt-repository ppa:danielrichter2007/grub-customizer sudo apt-get update sudo apt-get install grub-customizer sudo apt-get install openjdk-8-jdk ================================================================================ 【已经安装Android studio 可以跳过】 下载SDK =============================== 配置环境变量 【配置环境变量

    2024年02月03日
    浏览(100)
  • Selenium+Python自动化测试之验证码处理

    验证码识别技术 (很难达到100%) 添加Cookie (*****五星推荐) 逻辑方式: 1:打开验证码所在页面,截图。获取验证码元素坐标,剪切出验证码图片,识别 以途牛为例 代码: 步骤: 1:获取指定cookie: get_cookie(cookie名) 2:获取本网站所有本地cookies: get_cookies() 3:添加cookie:ad

    2024年02月04日
    浏览(44)
  • JMH - Java代码基准测试工具,代码性能问题验证测试

    在日常开发工作当中,开发人员可能有这些困惑:自己写的这个方法性能到底怎么样?在原接口实现方法中添加了新的业务逻辑,对整个接口的性能影响有多少?有多种实现方式(或开源类库),到底哪一种性能更好? 当遇到类似困惑或者说问题的时候,怎么办呢?当然是测试

    2024年02月07日
    浏览(54)
  • 【测试开发】第五节.测试——自动化测试(Selenium工具)

    作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:Java测试开发 每日一句: 人的一生,可以有所作为的时机只有一次,那就是现在!!! 前言 一、自动化测试的概念以及分类 二、Selenium—web自动化测试工具 2.1 自动化测试的一些前置工作 2.2 第一个自动化实例

    2024年02月04日
    浏览(64)
  • 自动化测试工具——Selenium详解

    Selenium是一个用于Web应用程序测试的工具。是一个开源的Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium可以直接运行在浏览器上,它支持所有主流的浏览器,支持的浏览器包括IE(7, 8,

    2024年01月20日
    浏览(62)
  • 一文详解:自动化测试工具——Selenium

    Selenium是一个用于Web应用程序测试的工具。是一个开源的Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium可以直接运行在浏览器上,它支持所有主流的浏览器,支持的浏览器包括IE(7, 8,

    2024年01月16日
    浏览(59)
  • 如何使用自动化测试工具Selenium?

    哈喽,大家好,我是小浪。那么有一段时间没有更新了,还是在忙实习和秋招的事情,那么今天也是实习正式结束啦,开始继续更新我们的学习博客,后期主要是开发和测试的学习博客内容巨多,感兴趣的小伙伴们可以一键三连支持一下欧~ 目录 一、什么是自动化测试? 二、

    2024年02月11日
    浏览(61)
  • 自动化测试工具-Selenium:Selenium的核心三大组件详解

    目录 1. WebDriver 1.1 WebDriver的通信方式 1.2 WebDriver的功能 1.3 W3C推荐标准 2. Grid 3. IDE Selenium 是支持 web 浏览器自动化的一系列工具和库的综合项目。官方对Selenium认可的三大组件或API分别是: WebDriver、Selenium IDE、Grid。 其中,WebDriver又被称为Selenium的核心。 下面本篇文章将深度介

    2024年02月03日
    浏览(46)
  • 自动化测试工具Selenium的语法续.

    OK,那么上篇博客我们介绍了如何搭建基于Java+selenium的环境,并且使用selenium的一些语法给大家演示了如何进行自动化测试的案例,那么本篇博客我们来继续学习selenium的一些其他的比较重要的语法,感谢关注,期待三连~ 目录 一、定位一组元素 二、下拉框处理 三、上传文件

    2024年02月10日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包