账户密码输入后,需要识别填写验证码
思路:
由于验证码不是图片,需要用到selenium进行截取验证码,然后通过ddddocr识别数字
import time
import ddddocr
from selenium import webdriver
driver = webdriver.Chrome()# Chrome浏览器
driver.get("http://online.hncen.net/")#
time.sleep(5)
imgelement = driver.find_element_by_xpath('//*[@id="valiImg"]')
imgelement.screenshot('captcha.jpg') #保存验证码截图
# 验证码识别
ocr = ddddocr.DdddOcr()
with open('captcha.jpg', 'rb') as f:
img_bytes = f.read()
res = ocr.classification(img_bytes)
print(res)
# 识别完成 输入账户密码/验证码
input_u=driver.find_element_by_xpath('//*[@id="ContentPlaceHolder1_txtuserid"]')
input_u.send_keys('username')
input_p=driver.find_element_by_xpath('//*[@id="ContentPlaceHolder1_txtpassword"]')
input_p.send_keys('password')
input_cap=driver.find_element_by_xpath('//*[@id="ContentPlaceHolder1_txtcode"]')
input_cap.send_keys(res)
验证码截图:
识别结果: