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中的迭代器和生成器
Oct 26 Python
Python编程判断一个正整数是否为素数的方法
Apr 14 Python
python处理Excel xlrd的简单使用
Sep 12 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
Nov 15 Python
pygame游戏之旅 添加游戏介绍
Nov 20 Python
基于python 微信小程序之获取已存在模板消息列表
Aug 05 Python
使用selenium和pyquery爬取京东商品列表过程解析
Aug 15 Python
python实现猜数字游戏
Mar 25 Python
python机器学习实现决策树
Nov 11 Python
TensorFlow中如何确定张量的形状实例
Jun 23 Python
python时间序列数据转为timestamp格式的方法
Aug 03 Python
Python中os模块的简单使用及重命名操作
Apr 17 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
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
2006/10/09 PHP
php缓存技术介绍
2006/11/25 PHP
简化php模板页面中分页代码的解析
2009/02/06 PHP
php检测文件编码的方法示例
2014/04/25 PHP
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
用javascript连接access数据库的方法
2006/11/17 Javascript
javaScript 判断字符串是否为数字的简单方法
2009/07/25 Javascript
JavaScript中判断函数是new还是()调用的区别说明
2011/04/07 Javascript
jquery 延迟执行实例介绍
2013/08/20 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
JavaScript中document.forms[0]与getElementByName区别
2015/01/21 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
javascript设计模式之策略模式学习笔记
2017/02/15 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
[05:23]DOTA2-DPC中国联赛2月1日Recap集锦
2021/03/11 DOTA
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
Python中用于计算对数的log()方法
2015/05/15 Python
Python对列表排序的方法实例分析
2015/05/16 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
wxPython实现带颜色的进度条
2019/11/19 Python
详解pycharm连接不上mysql数据库的解决办法
2020/01/10 Python
使用 Python 读取电子表格中的数据实例详解
2020/04/17 Python
python os模块在系统管理中的应用
2020/06/22 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
J2EE的优越性主要表现在哪些方面
2016/03/28 面试题
专科毕业生求职简历的自我评价
2013/10/12 职场文书
导游词范文
2015/02/13 职场文书
Python字典和列表性能之间的比较
2021/06/07 Python
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python