Python使用selenium实现网页用户名 密码 验证码自动登录功能


Posted in Python onMay 16, 2018

好久没有学python了,反正各种理由吧(懒惰总会有千千万万的理由),最近网上学习了一下selenium,实现了一个简单的自动登录网页,具体如下。

1.安装selenium:

如果你已经安装好anaconda3,直接在windows的dos窗口输入命令安装selenium:

python -m pip install --upgrade pip

查看版本pip show selenium

2.接着去http://chromedriver.storage.googleapis.com/index.html下载chromedriver.exe(根据chrome的版本下载对应的)

3.将下载好的chromedriver.exe解压后放到指定目录

4.安装tesseract-ocr.exe 配置环境变量

5.安装pytesseract : pip install pytesseract

6.python脚本

思路:6.1登录页面按F12检查元素,获取用户名 密码 验证码 验证码图片的元素id

 6.2.调用chromedriver

 6.3.截取验证码图片的位置

 6.4.pytesseract识别图片中字符,最后验证码识别为空!!???这个待解决

 6.5.脚本如下:

from selenium import webdriver
from PIL import Image
import pytesseract
import os,time
chromedriver = "D:\Program Files\Anaconda3\selenium\webdriver\chromedriver.exe" #这里写本地的chromedriver 的所在路径
os.environ["webdriver.Chrome.driver"] = chromedriver #调用chrome浏览器
driver = webdriver.Chrome(chromedriver)
driver.get("http://xxxx.com") #该处为具体网址
driver.refresh() #刷新页面
driver.maximize_window() #浏览器最大化
#获取全屏图片,并截取验证码图片的位置
driver.get_screenshot_as_file('a.png')
location = driver.find_element_by_id('imgValidateCode').location
size = driver.find_element_by_id('imgValidateCode').size
left = location['x']
top = location['y']
right = location['x'] + size['width']
bottom = location['y'] + size['height']
a = Image.open("a.png")
im = a.crop((left,top,right,bottom))
im.save('a.png')
time.sleep(1)
#打开保存的验证码图片
image = Image.open("a.png")
#图片转换成字符
vcode = pytesseract.image_to_string(image)
print(vcode)
#填充用户名 密码 验证码
driver.find_element_by_id("staffCode").send_keys("username")
driver.find_element_by_id("pwd").send_keys("password")
driver.find_element_by_id("validateCode").send_keys(vcode)
#点击登录 
driver.find_element_by_id("loginBtn").click()

总结

以上所述是小编给大家介绍的Python实现网页用户名 密码 验证码自动登录功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
跟老齐学Python之从if开始语句的征程
Sep 14 Python
Python中获取对象信息的方法
Apr 27 Python
Python读取图片属性信息的实现方法
Sep 11 Python
Python迭代器和生成器定义与用法示例
Feb 10 Python
selenium+python实现1688网站验证码图片的截取功能
Aug 14 Python
Python操作json的方法实例分析
Dec 06 Python
Python跳出多重循环的方法示例
Jul 03 Python
Django 响应数据response的返回源码详解
Aug 06 Python
Python中模块(Module)和包(Package)的区别详解
Aug 07 Python
python3 selenium自动化 frame表单嵌套的切换方法
Aug 23 Python
浅谈keras中的目标函数和优化函数MSE用法
Jun 10 Python
如何用Django处理gzip数据流
Jan 29 Python
Selenium 模拟浏览器动态加载页面的实现方法
May 16 #Python
Python selenium实现微博自动登录的示例代码
May 16 #Python
Python实现统计给定字符串中重复模式最高子串功能示例
May 16 #Python
Python(Django)项目与Apache的管理交互的方法
May 16 #Python
Python检测网络延迟的代码
May 15 #Python
在windows下Python打印彩色字体的方法
May 15 #Python
一条命令解决mac版本python IDLE不能输入中文问题
May 15 #Python
You might like
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
php检测iis环境是否支持htaccess的方法
2014/02/18 PHP
PHP在线书签系统分享
2016/01/04 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
php+js实现裁剪任意形状图片
2018/10/31 PHP
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
2013/07/17 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
javascript 常见功能汇总
2015/06/11 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
nodejs实现邮件发送服务实例分享
2017/03/29 NodeJs
angularjs指令之绑定策略(@、=、&)
2017/04/13 Javascript
JavaScript实现预览本地上传图片功能完整示例
2019/03/08 Javascript
nodejs分离html文件里面的js和css的方法
2019/04/09 NodeJs
详解Vue+elementUI build打包部署后字体图标丢失问题
2020/07/13 Javascript
python实现rest请求api示例
2014/04/22 Python
Python的Tornado框架异步编程入门实例
2015/04/24 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
Python基于requests库爬取网站信息
2020/03/02 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
浅析Python 序列化与反序列化
2020/08/05 Python
python eventlet绿化和patch原理
2020/11/21 Python
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
linux系统都有哪些运行级别
2012/04/15 面试题
财务会计应届生求职信
2013/11/24 职场文书
2015年共青团工作总结
2015/05/15 职场文书
迎国庆主题班会
2015/08/17 职场文书
聘任书格式及范文
2015/09/21 职场文书