Python 点击指定位置验证码破解的实现代码


Posted in Python onSeptember 11, 2019

思路:

创建浏览器驱动对象

加载登录页面

等待页面加载完毕

切换到用户名和密码登录模式

输入手机号, 注意此处需要等待并获取输入框

输入密码

点击验证按钮

获取弹出验证图片

使用超级鹰打码平台识别图形的坐标

获取到坐标信息, 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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python改变日志(logging)存放位置的示例
Mar 27 Python
浅谈Python中函数的参数传递
Jun 21 Python
Python+OpenCV让电脑帮你玩微信跳一跳
Jan 04 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
Feb 26 Python
PyQt5每天必学之布局管理
Apr 19 Python
python中yaml配置文件模块的使用详解
Apr 27 Python
Python实现朴素贝叶斯的学习与分类过程解析
Aug 24 Python
python装饰器原理与用法深入详解
Dec 19 Python
Python数组拼接np.concatenate实现过程
Apr 18 Python
详解用selenium来下载小姐姐图片并保存
Jan 26 Python
Django项目如何正确配置日志(logging)
Apr 29 Python
Python anaconda安装库命令详解
Oct 16 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
Sep 11 #Python
python实现的发邮件功能示例
Sep 11 #Python
python 字符串常用函数详解
Sep 11 #Python
python sqlite的Row对象操作示例
Sep 11 #Python
Python lambda表达式filter、map、reduce函数用法解析
Sep 11 #Python
python针对mysql数据库的连接、查询、更新、删除操作示例
Sep 11 #Python
Python range、enumerate和zip函数用法详解
Sep 11 #Python
You might like
你应该知道PHP浮点数知识
2015/05/13 PHP
如何使用Gitblog和Markdown建自己的博客
2015/07/31 PHP
完美利用Yii2微信后台开发的系列总结
2016/07/18 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
2017/07/04 PHP
图片按比例缩放函数
2006/06/26 Javascript
javascript 硬盘序列号+其它硬件信息
2008/12/23 Javascript
JavaScript Chart 插件整理
2010/06/18 Javascript
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
2016/07/27 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
2016/07/28 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
2019/12/08 Javascript
谈谈JavaScript中的垃圾回收机制
2020/09/17 Javascript
js实现类选择器和name属性选择器的示例步骤
2021/02/07 Javascript
python调用cmd命令行制作刷博器
2014/01/13 Python
Python 装饰器深入理解
2017/03/16 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
Pytorch实现基于CharRNN的文本分类与生成示例
2020/01/08 Python
python网络爬虫实现发送短信验证码的方法
2021/02/25 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
Abe’s of Maine:自1979以来销售相机和电子产品
2016/11/21 全球购物
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
物流专业大学生的自我鉴定
2013/11/13 职场文书
大学生自我鉴定评语
2014/01/27 职场文书
单位消防安全责任书
2014/07/23 职场文书
代办社保委托书范文
2014/10/06 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
2019大学生预备党员转正思想汇报
2019/06/21 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS