从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()

相关推荐
Mr.Jessy6 分钟前
Web APIs 学习第四天:DOM事件进阶
开发语言·前端·javascript·学习·ecmascript
studyForMokey13 分钟前
【Kotlin内联函数】
android·开发语言·kotlin
小虚竹18 分钟前
Rust日志系统完全指南:从log门面库到env_logger实战
开发语言·后端·rust
星释18 分钟前
Rust 练习册 8:链表实现与所有权管理
开发语言·链表·rust
今日说"法"20 分钟前
Rust 日志级别与结构化日志:从调试到生产的日志策略
开发语言·后端·rust
-大头.21 分钟前
Rust并发编程实战技巧
开发语言·后端·rust
ヾChen30 分钟前
头歌MySQL——复杂查询
数据库·物联网·学习·mysql·头歌
老虎062733 分钟前
黑马点评学习笔记07(缓存工具封装)
笔记·学习·缓存
Yurko1335 分钟前
【C语言】选择结构和循环结构的进阶
c语言·开发语言·学习
小白学大数据44 分钟前
构建1688店铺商品数据集:Python爬虫数据采集与格式化实践
开发语言·爬虫·python