本文主要使用的库包括:ddddocr(带带弟弟OCR),PIL(图像处理),Selenium(UI自动化)
环境要求:python3.8以上
# 导包
import ddddocr
from PIL import Image
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
# 实例化对象
driver = webdriver.Chrome()
# 窗口最大化
driver.maximize_window()
# 访问地址
url = "http://user-p2p-test.itheima.net/common/member/reg"
# 驱动浏览器访问
driver.get(url)
# # 截图页面
jpg_max = driver.save_screenshot('m3.png')
# 获取验证码区域的坐标
location = driver.find_element(By.XPATH, "/html/body/div[1]/div[2]/div[1]/form/div[2]/div[3]/img")
# print(location.location)
# 坐标大小
size = location.size
# print(size)
# 获取验证码图片的坐标大小
rangle = (int(location.location['x']), int(location.location['y']), int(location.location['x'] + size['width']),
int(location.location['y'] + size['height']))
# 通过图像的方式打开保存的图片
i = Image.open("m3.png")
# 截取验证码区域
imgry = i.crop(rangle)
# 保存验证码图片
imgry.save('getVerifyCode1.png')
# 识别图片
ocr = ddddocr.DdddOcr()
with open("getVerifyCode1.png", "rb") as f:
img_bytes = f.read()
res = ocr.classification(img_bytes)
# 打印图片内容
print(res)
# 输入账号密码图片验证码
driver.find_element(By.XPATH, "/html/body/div[1]/div[2]/div[1]/form/div[2]/div[1]/input").send_keys(
"15887844511") # 每次要改账号
driver.find_element(By.XPATH, "/html/body/div[1]/div[2]/div[1]/form/div[2]/div[2]/input[2]").send_keys("chen123456")
driver.find_element(By.XPATH, "/html/body/div[1]/div[2]/div[1]/form/div[2]/div[3]/input").send_keys(res)
driver.find_element(By.XPATH, "/html/body/div[1]/div[2]/div[1]/form/div[2]/div[4]/input[2]").click()
time.sleep(2)
driver.find_element(By.XPATH, "/html/body/div[1]/div[2]/div[1]/form/div[2]/div[4]/input[1]").send_keys(666666)
time.sleep(3)
driver.find_element(By.XPATH, "/html/body/div[1]/div[2]/div[1]/form/div[2]/div[6]/input").click()
time.sleep(3)
# 关闭浏览器
driver.quit()



