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

相关推荐
花酒锄作田5 分钟前
SQLAlchemy中使用UPSERT
python·sqlalchemy
SoleMotive.6 分钟前
一个准程序员的健身日志:用算法调试我的增肌计划
python·程序员·健身·职业转型
念何架构之路11 分钟前
Go进阶之panic
开发语言·后端·golang
亓才孓14 分钟前
[Properties]写配置文件前,必须初始化Properties(引用变量没执行有效对象,调用方法会报空指针错误)
开发语言·python
傻乐u兔18 分钟前
C语言进阶————指针3
c语言·开发语言
Bruk.Liu19 分钟前
(LangChain 实战14):基于 ChatMessageHistory 自定义实现对话记忆功能
人工智能·python·langchain·agent
两点王爷28 分钟前
Java基础面试题——【Java语言特性】
java·开发语言
大江东去浪淘尽千古风流人物34 分钟前
【VLN】VLN(Vision-and-Language Navigation视觉语言导航)算法本质,范式难点及解决方向(1)
人工智能·python·算法
Swift社区36 分钟前
Gunicorn 与 Uvicorn 部署 Python 后端详解
开发语言·python·gunicorn
Coinsheep40 分钟前
SSTI-flask靶场搭建及通关
python·flask·ssti