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文件和目录操作详解
Feb 08 Python
python中的__slots__使用示例
Feb 26 Python
python插入数据到列表的方法
Apr 30 Python
Python基于Tkinter实现的记事本实例
Jun 17 Python
python获得文件创建时间和修改时间的方法
Jun 30 Python
Python实现的rsa加密算法详解
Jan 24 Python
Python数据类型之Set集合实例详解
May 07 Python
python实现动态数组的示例代码
Jul 15 Python
python实现手势识别的示例(入门)
Apr 15 Python
Python内存映射文件读写方式
Apr 24 Python
基于python实现获取网页图片过程解析
May 11 Python
Python3.9.1中使用split()的处理方法(推荐)
Feb 07 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
PHP操作数组相关函数
2011/02/03 PHP
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
PHP文件上传判断file是否己选择上传文件的方法
2014/11/10 PHP
Javascript中的this绑定介绍
2011/09/22 Javascript
js清空form表单中的内容示例
2014/05/20 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
去除html代码里面的script正则方法
2016/05/19 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
基于jQuery实现中英文切换导航条效果
2016/09/18 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
Javascript之图片的延迟加载的实例详解
2017/07/24 Javascript
nodejs通过钉钉群机器人推送消息的实现代码
2019/05/05 NodeJs
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
python黑魔法之编码转换
2016/01/25 Python
Python 元类实例解析
2018/04/04 Python
python pandas生成时间列表
2019/06/29 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
通过实例学习Python Excel操作
2020/01/06 Python
python deque模块简单使用代码实例
2020/03/12 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
努比亚手机官网:nubia
2016/10/06 全球购物
西班牙香水和化妆品连锁店:Druni
2019/05/05 全球购物
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
全球领先的中国制造商品在线批发平台:DHgate
2020/01/28 全球购物
运动会横幅标语
2014/06/17 职场文书
推广活动策划方案
2014/08/23 职场文书
六查六看剖析材料
2014/10/06 职场文书
书法社团活动总结
2015/05/07 职场文书
如何使用PyCharm及常用配置详解
2021/06/03 Python
Python中的xlrd模块使用整理
2021/06/15 Python
Python Django模型详解
2021/10/05 Python
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫