python+selenium自动识别简单验证码实现自动登录

一.所需要的库

pip install ddddocr -i https://pypi.tuna.tsinghua.edu.cn/simple
#安装ocr第三方库
import time
import ddddocr
from selenium.webdriver.common.by import By
from selenium import webdriver

二.实现自动登录过程

driver = webdriver.Chrome()
driver.get('网站地址')
time.sleep(2)

 按F12打开开发者模式,选择元素,以此类推,将密码、验证码、验证码图片的位置找出来,将账号和密码输入进去。

name = driver.find_element(By.CSS_SELECTOR,"#email").send_keys("你的账号")
#定位账号输入框位置,并且输入账号
password = driver.find_element(By.CSS_SELECTOR,'#pwd').send_keys("你的密码")
#定位密码输入框位置,并且输入密码
code = driver.find_element(By.CSS_SELECTOR,'#code')
#定位验证码输入框位置
imgCode = driver.find_element(By.CSS_SELECTOR,'#imgcode')
#定位验证码图片位置

仅需要三行代码就可以识别登录验证码。利用第三方库(ocr)去识别验证码的图片。

ocr = ddddocr.DdddOcr() 
#ocr实例化
img_text = ocr.classification(imgCode.screenshot_as_png)
#识别验证码
code.send_keys(img_text)
#输入验证码

三.完整代码

import time
import ddddocr
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get('网站地址')
time.sleep(1)

name = driver.find_element(By.CSS_SELECTOR,"#email").send_keys("你的账号")
#定位账号输入框位置,并且输入账号
password = driver.find_element(By.CSS_SELECTOR,'#pwd').send_keys("你的密码")
#定位密码输入框位置,并且输入密码
code = driver.find_element(By.CSS_SELECTOR,'#code')
#定位验证码输入框位置
imgCode = driver.find_element(By.CSS_SELECTOR,'#imgcode')
#定位验证码图片位置


ocr = ddddocr.DdddOcr() 
#ocr实例化
img_text = ocr.classification(imgCode.screenshot_as_png)
#识别验证码
code.send_keys(img_text)
#输入验证码


login = driver.find_element(By.CSS_SELECTOR, "登录按钮")  
# 找到登录的位置
login.click()  # 点击登录按钮

兄弟们,大功告成

四.总结

1要提前安装好ocr第三方库

2注意自己的定位,是否准确

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值