自动化登录脚本(验证码识别)
一、准备工作
1、安装第三方库
py -3.6 -m pip install tesseract
py -3.6 -m pip install pytesseract
2、安装软件
下载地址:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v4.0.0-beta.1.20180414.exe
3、配置环境变量
将上面这个软件配置到环境变量中,如 C:\Program Files (x86)\Tesseract-OCR (安装目录)
4、重启电脑(如果没有重启,那么会报系统找不到指定文件的错误)
二、代码
from selenium import webdriver from PIL import Image import pytesseract import time at=webdriver.Chrome() at.get("http://192.168.0.137:8005") at.maximize_window() at.find_element_by_id("btn_login").click() # 点击登录 at.find_element_by_id("UserName").clear() # 清空输入框 at.find_element_by_id("UserName").send_keys("chenbin") # 输入用户名 at.find_element_by_id("PassWord").clear() # 清空输入框 at.find_element_by_id("PassWord").send_keys("abc123") # 输入密码 at.find_element_by_id("imgCode").screenshot("3.png") # 获取验证码的图片 image = Image.open("3.png") # 获取图片信息 vcode = pytesseract.image_to_string(image) # 识别图片的验证码 at.find_element_by_id("validateCode").send_keys(vcode) # 输入验证码 at.find_element_by_id("btn_login").click() # 点击登录 time.sleep(2) login_name = at.find_element_by_id("cur-login-user-name").text # 获取登录名 if login_name.lower() == "chenbin": print('登录成功') else: print('登录失败')
三、总结
上面这个方法识别一些简单的验证码:数字或者字母,如果需要识别一些复杂的可以找一些接口来识别