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

相关推荐
小兔崽子去哪了4 分钟前
RFM 模型 项目实战
python
昨天那个谁谁15 分钟前
ROS2运行时报无法加载create_key等符号错误
c++·python·ros2
曹牧21 分钟前
Java String[] 数组的 contains
java·开发语言·windows
yong999024 分钟前
LSD直线提取算法 MATLAB
开发语言·算法·matlab
一只专注api接口开发的技术猿27 分钟前
构建电商数据中台:基于淘宝 API 关键词搜索接口的设计与实现
大数据·开发语言·数据库
浩瀚地学35 分钟前
【Java】String
java·开发语言·经验分享·笔记·学习
知识分享小能手37 分钟前
CentOS Stream 9入门学习教程,从入门到精通,CentOS Stream 9 用户和组管理 —语法详解与实战案例(6)
linux·学习·centos
nju_spy1 小时前
python 算法题基础常用总结(比赛 or 机试 or 面试)
python·记忆化搜索·位运算·二分查找 - bisect·排序与lambda·最短路和最小生成树·堆与优先队列
松涛和鸣1 小时前
25、数据结构:树与二叉树的概念、特性及递归实现
linux·开发语言·网络·数据结构·算法
Deng8723473481 小时前
自动化极验3点选验证码的识别与验证方案
运维·python·自动化