Python 点击指定位置验证码破解的实现代码
作者:qq_42956206 时间:2022-07-15 11:17:58
思路:
创建浏览器驱动对象
加载登录页面
等待页面加载完毕
切换到用户名和密码登录模式
输入手机号, 注意此处需要等待并获取输入框
输入密码
点击验证按钮
获取弹出验证图片
使用超级鹰打码平台识别图形的坐标
获取到坐标信息, x,y坐标分别除以2; 由于电脑分辨率太过了, 是原来的两倍, 如果是普通分辨率可以除以2,直接用就可以了.
把鼠标移动到, 坐标点的位置进行点击
点击登录按钮
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver import ActionChains
import time
# 导入超级鹰
from chaojiying import chaojiying
#根据系统,可能截图不成功,需要使用无头浏览,mac系统可以不设置
options=webdriver.ChromeOptions()
options.headless=True
driver=webdriver.Chrome(options=potions)
driver.get('http://www.zhaopingou.com/signin')
driver.find_element_by_class_name('li02').click()
wait=WebDriverWait(driver,20,0.5)
# 账号登录
login_phone=wait.until(EC.visibility_of_element_located((By.ID,'pwd_login_phone')))
login_phone.send_keys('17724035140')
# 密码
driver.find_element_by_id('form_login_password').send_keys('961831740hzll')
# 点击获取图片
captcha = wait.until(EC.visibility_of_element_located((By.XPATH, '//div[@class="phone_login_pwd"]//iframe[starts-with(@id, "captcha_widget")]')))
captcha.click()
# 点击
# 保存图片(可以不保存)
captcha_element = wait.until(EC.visibility_of_element_located((By.XPATH, '//body[@class="graybc"]//iframe[starts-with(@id, "captcha_frame")]')))
captcha_element.screenshot('zhaopingou.png')
# 将图片转换为二进制
bytes_img=captcha_element.screenshot_as_png
# print(bytes_img)
result=chaojiying.post_pic(bytes_img,'9101')
x,y=result['pic_str'].split(',')
print(x,y)
x=int(x)
y=int(y)
# ActionChains(driver).move_to_element_with_offset(bytes_img,x,y).click().perform()
ActionChains(driver).move_to_element_with_offset(captcha_element, x, y).click().perform()
time.sleep(2)
driver.find_element_by_id('free_login_btn').click()
print(driver.window_handles)
driver.switch_to.window(driver.window_handles[0])
# time.sleep(5)
driver.quit()
来源:https://blog.csdn.net/qq_42956206/article/details/85106673
标签:Python,验证码,破解
0
投稿
猜你喜欢
python实现简单多人聊天室
2022-08-17 15:04:13
关于Javascript闭包与应用的详解
2024-04-23 09:09:28
Facebook是如何设计的[译]
2009-09-17 13:10:00
ORACLE 如何查询被锁定表及如何解锁释放session
2023-07-02 11:59:39
把vgg-face.mat权重迁移到pytorch模型示例
2021-11-03 16:29:20
教你制作IBM LOGO的方法
2007-10-23 13:34:00
python 第三方库的安装及pip的使用详解
2023-12-27 07:06:53
Python决策树分类算法学习
2023-01-28 17:27:05
pyecharts结合flask框架的使用
2022-12-01 18:37:25
python神经网络InceptionV3模型复现详解
2021-05-29 16:53:01
如何调试 XMLHttpRequest
2008-08-15 13:59:00
Go语言实现牛顿法求平方根函数的案例
2024-03-27 00:04:56
Python一行代码解决矩阵旋转的问题
2022-03-08 12:44:11
Python 标准库zipfile将文件夹加入压缩包的操作方法
2021-09-17 14:06:10
Python面向对象之类和对象实例详解
2022-10-02 05:39:34
利用Python的装饰器解决Bottle框架中用户验证问题
2022-10-07 07:49:15
自己动手用Golang实现约瑟夫环算法的示例
2024-04-23 09:48:50
pandas中DataFrame重置索引的几种方法
2023-06-10 00:26:45
python中json格式数据输出的简单实现方法
2021-03-04 22:19:19
wxPython之解决闪烁的问题
2022-05-12 13:21:30