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根据文件大小打log日志
Oct 09 Python
Python用模块pytz来转换时区
Aug 19 Python
Python通过matplotlib绘制动画简单实例
Dec 13 Python
Python从零开始创建区块链
Mar 06 Python
python中字符串的操作方法大全
Jun 03 Python
Pandas Shift函数的基础入门学习笔记
Nov 16 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
Django 设置多环境配置文件载入问题
Feb 25 Python
Django设置Postgresql的操作
May 14 Python
python -v 报错问题的解决方法
Sep 15 Python
python用tkinter实现一个简易能进行随机点名的界面
Sep 27 Python
Python中生成ndarray实例讲解
Feb 22 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面向对象public private protected 访问修饰符
2013/06/30 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
限制ckeditor上传图片文件大小的方法
2013/11/15 PHP
初识Laravel
2014/10/30 PHP
Yii基于数组和对象的Model查询技巧实例详解
2015/12/28 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
PHP将数据导出Excel表中的实例(投机型)
2017/07/31 PHP
Yii框架的路由配置方法分析
2019/09/09 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
Jquery插件之多图片异步上传
2010/10/20 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
jquery 插件学习(一)
2012/08/06 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
JavaScript中的getMilliseconds()方法使用详解
2015/06/10 Javascript
不能不知道的10个angularjs英文学习网站
2016/03/23 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
jQuery复制节点用法示例(clone方法)
2016/09/08 Javascript
Node.js简单入门前传
2017/08/21 Javascript
vue基于Element构建自定义树的示例代码
2017/09/19 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
2018/10/18 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
Python引用(import)文件夹下的py文件的方法
2014/08/26 Python
Python文件及目录操作实例详解
2015/06/04 Python
python3正则提取字符串里的中文实例
2019/01/31 Python
python常用排序算法的实现代码
2019/11/08 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
python网络爬虫实现发送短信验证码的方法
2021/02/25 Python
HTML5 canvas 基本语法
2009/08/26 HTML / CSS
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
教育孩子心得体会
2014/01/01 职场文书
学生会主席竞聘书
2014/03/31 职场文书
房屋产权证明书
2014/10/15 职场文书
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP
python开发飞机大战游戏
2021/07/15 Python