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

相关推荐
查士丁尼·绵17 分钟前
笔试-九宫格三阶积幻方
python·九宫格·三阶积幻方
云知谷2 小时前
【C++基本功】C++适合做什么,哪些领域适合哪些领域不适合?
c语言·开发语言·c++·人工智能·团队开发
l1t3 小时前
DeepSeek辅助利用搬移底层xml实现快速编辑xlsx文件的python程序
xml·开发语言·python·xlsx
大飞记Python3 小时前
部门管理|“编辑部门”功能实现(Django5零基础Web平台)
前端·数据库·python·django
C_Liu_4 小时前
C++:list
开发语言·c++
my rainy days4 小时前
C++:友元
开发语言·c++·算法
deng-c-f4 小时前
Linux C/C++ 学习日记(28):KCP协议(四):如何实现更复杂的业务:将连接状态的管理进行封装,用户只需实现发送、接收、断开的处理逻辑。
学习·网络编程·kcp
小梁努力敲代码4 小时前
java数据结构--List的介绍
java·开发语言·数据结构
查士丁尼·绵5 小时前
笔试-羊狼过河
python
摸鱼的老谭5 小时前
构建Agent该选Python还是Java ?
java·python·agent