Python3自动识别验证码(简单数字识别)转载http://www.cnblogs.com/landhu/p/4968577.html
来源:互联网 发布:招聘php 编辑:程序博客网 时间:2024/06/06 04:55
需要安装Pillow 、pyocr、pytesseractpip install Pillowpip install pyocrpip install pytesseract#coding=utf-8from selenium import webdriverimport osimport MarketingVPLoginimport unittestfrom time import sleepfrom PIL import Image,ImageEnhanceimport pytesseractchrome_driver_path = r"E:\PyCharm(Python)script\MiaoDJ\chromedriver.exe"class Manager(unittest.TestCase): @classmethod def setUpClass(cls): chrome_driver = os.path.abspath(chrome_driver_path) os.environ["webdriver.Chrome.driver"] = chrome_driver cls.driver = webdriver.Chrome(chrome_driver) browser = cls.driver browser.maximize_window() sleep(3) browser.get("http://test.miaodj.cn/index.php/System/Login/login") sleep(3) browser.find_element_by_id("username").send_keys("admin") browser.find_element_by_id("pwd").send_keys("miaodj123456") browser.save_screenshot("E:\pythonimage\image01.png") imglement = browser.find_element_by_id("code_img") #定位验证码 location = imglement.location #获取验证码X,Y的坐标 size = imglement.size #获取验证码的长宽 rangle = (int(location['x']),int(location['y']),int(location['x']+size['width']),int(location['y']+size['height'])) #写成我们需要的位置坐标 image = Image.open(("E:\pythonimage\image01.png")) #打开截图 frame4 = image.crop(rangle) #使用image的crop函数,从截图中再次截取我们的区域 frame4.save("E:\pythonimage\yanzhengma01.png") qq = Image.open("E:\pythonimage\yanzhengma01.png") text = pytesseract.image_to_string(qq).strip() # 使用image_to_string识别验证码 print(text)
阅读全文
0 0
- Python3自动识别验证码(简单数字识别)转载http://www.cnblogs.com/landhu/p/4968577.html
- 转载http://www.cnblogs.com/kenshincui/p/3931948.html
- 转载至http://www.cnblogs.com/dolphin0520/p/3919839.html
- 转载 http://www.cnblogs.com/feixuelove1009/p/5823135.html
- [Python] heapq简介(转载自:http://www.cnblogs.com/lexus/p/3324991.html)
- redis的使用(转载自:http://www.cnblogs.com/edisonfeng/p/3571870.html)
- GridView的上拉加载下拉刷新实现(转载至http://www.cnblogs.com/wbp0818/p/5424339.html)
- Java + 腾讯企业邮箱 + javamail + SSL 发送邮件(转载:http://www.cnblogs.com/LUA123/p/5575134.html)
- Verilog中wire与reg类型的区别(转载自http://www.cnblogs.com/farbeyond/p/5204586.html)
- Android MTP 转载http://www.cnblogs.com/skywang12345/p/3474206.html
- Android Studio导入Fresco--转载自http://www.cnblogs.com/stay/p/4398432.html
- 转载自 http://www.cnblogs.com/ITtangtang/p/3926665.html,Log4J
- Virtualbox虚拟机设置不完全笔记转载: http://www.cnblogs.com/coolicer/p/3262427.html
- .9.png 转载地址http://www.cnblogs.com/lwbqqyumidi/p/3373070.html
- slf4j的个人学习--转载自http://www.cnblogs.com/xing901022/p/4149524.html
- AQS的转载:经典http://www.cnblogs.com/jinspire/p/3172974.html
- 关于js中数据类型的探讨,转载http://www.cnblogs.com/sharpxiajun/p/4133462.html
- 文件下载,转载路径:http://www.cnblogs.com/xdp-gacl/p/3789624.html
- 基于httpclient和mysql的接口功能自动化测试框架
- foreach 循环
- 归并排序
- IOS11 AppStore好评地址地跳转获取
- linux中开启snmp协议
- Python3自动识别验证码(简单数字识别)转载http://www.cnblogs.com/landhu/p/4968577.html
- C++对象的生存周期
- idea破解
- 百度攻占物联网城池,ABC战略全面布局
- 趣图 | 运维工程师在生产服务器进行热切换
- VueJS(4)---图片绑定
- Android Canvas绘图详解(图文)
- IT创业者需要知道的八个神奇定律
- 听音乐播放问题 ? 待解决