自动化登录脚本(验证码识别)

一、准备工作

  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('登录失败')

 

三、总结

  上面这个方法识别一些简单的验证码:数字或者字母,如果需要识别一些复杂的可以找一些接口来识别

posted @ 2019-12-23 15:13  海澜时见鲸  阅读(3268)  评论(0)    收藏  举报