从0开始python学习-28.selenium 需要图片验证的登录

url = 'https://test.com/login'

driver.get(url)

# 获取登录页面需要输入账号密码进行模拟登录操作

user = driver.find_element(By.XPATH,'//*[@id="login"]/div[2]/div/form[2]/div[2]/div/div/input').send_keys('username')

pwd = driver.find_element(By.XPATH,'//*[@id="login"]/div[2]/div/form[2]/div[3]/div/div/input').send_keys('123456')

# 输入验证码
1.截图获取验证码图片

driver.find_element(By.XPATH,'//*[@id="login"]/div[2]/div/form[2]/div[4]/div/div/img').screenshot('verify.png')

2.将验证码图片发送给解码平台进行处理
解码平台:https://www.chaojiying.com/
第三方接口地址:http://upload.chaojiying.net/Upload/Processing.php

url_code = 'http://upload.chaojiying.net/Upload/Processing.php'

data = {

用户名

'user': 'user',

密码

'pass': '123456',

用户的个人id,注册完账号之后并且登录,然后通过个人中心申请

'sofid': '123456',

验证码的类型

'codetype': 1004

}

files = {"userfile": open("verify.png", "rb")}

resp = requests.post(url_code, data=data, files=files)

res = resp.json()

print(res)

if res['err_no'] == 0:

code = res['pic_str']

print(f"识别成功,验证码为:{code}")

else:

print("识别失败")

3.将解码后的验证码填写入验证码框中

verify = driver.find_element(By.XPATH,'//*[@id="login"]/div[2]/div/form[2]/div[4]/div/div/div/input').send_keys(code)

button = driver.find_element(By.XPATH,'//*[@id="login"]/div[2]/div/form[2]/div[5]/button').click()

sleep(5)

# 校验是否登录成功

url1 = 'https://test.com/#/serviceExpireManage'

driver.get(url1)

sleep(10)

driver.quit()

相关推荐
YSF2017_36 分钟前
C语言16-makefile(3)——makefile的模式规则
linux·c语言·开发语言
星星码️6 分钟前
C++选择题练习(一)
开发语言·c++
木叶子---19 分钟前
Spring 枚举转换器冲突问题分析与解决
java·python·spring
亚空间仓鼠20 分钟前
网络学习实例:网络理论知识
网络·学习·智能路由器
༒࿈南林࿈༒31 分钟前
链家二手房数据自动化点选验证码
python·自动化·点选验证码
herinspace1 小时前
管家婆实用贴-如何分离和附加数据库
开发语言·前端·javascript·数据库·语音识别
薛定e的猫咪1 小时前
多智能体强化学习求解 FJSP 变体全景:动态调度、AGV 运输、绿色制造与开源代码导航
人工智能·学习·性能优化·制造
ILYT NCTR1 小时前
搭建Golang gRPC环境:protoc、protoc-gen-go 和 protoc-gen-go-grpc 工具安装教程
开发语言·后端·golang
小雅痞1 小时前
[Java][Leetcode simple] 28. 找出字符串中第一个匹配项的下标
java·开发语言·leetcode
风兮雨露1 小时前
一建学习流程以及计划(附资料)
学习