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

 更新时间:2018年05月16日 10:16:26   作者:clarkxhb  
这篇文章主要介绍了Python使用selenium实现网页用户名 密码 验证码自动登录功能,实现思路很简单,感兴趣的朋友跟随脚本之家小编一起学习吧

好久没有学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如何利用pymysql封装项目通用的连接和查询

    详解Python如何利用pymysql封装项目通用的连接和查询

    一个项目通常都需要有数据库,本文就来为大家详细讲讲Python如何利用pymysql简单分装一个通用的连接,关闭和查询,需要的可以参考一下
    2022-07-07
  • 使用Pycharm创建一个Django项目的超详细图文教程

    使用Pycharm创建一个Django项目的超详细图文教程

    Django是比较经典的Python web框架,最近刚好在项目中用到了Django,所以下面这篇文章主要给大家介绍了关于使用Pycharm创建一个Django项目的超详细图文教程,文中介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 在Docker上开始部署Python应用的教程

    在Docker上开始部署Python应用的教程

    这篇文章主要介绍了在Docker上开始部署Python应用的教程,Docker是时下最火爆的虚拟机,正在被各大云主机服务商所采用,需要的朋友可以参考下
    2015-04-04
  • python发腾讯微博代码分享

    python发腾讯微博代码分享

    本文介绍了利用qwebview写的一个发腾讯微博的功能,大家可以改成新浪微博,原理是一样的,大家参考使用吧
    2014-01-01
  • Python当中的array数组对象实例详解

    Python当中的array数组对象实例详解

    这篇文章主要介绍了Python当中的array数组对象,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-06-06
  • python 监控logcat关键字功能

    python 监控logcat关键字功能

    这篇文章主要介绍了python 监控logcat关键字功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • 使用python生成定制化词云的代码示例

    使用python生成定制化词云的代码示例

    词云,作为一种流行的数据可视化形式,能够将大量文本数据中的关键词以视觉化的方式呈现,让我们迅速捕捉到文本的核心,本文将通过Python编程语言,使用jieba和wordcloud库,生成一个具有特定形状的词云,需要的朋友可以参考下
    2024-09-09
  • 聊一聊python常用的编程模块

    聊一聊python常用的编程模块

    好久没用写文章了,动起笔来真不知道写点啥来,好吧,今天就给大家分享一些python常用的编程模块吧,包括文件流的读写及如何删除str中的特定字符,感兴趣的朋友跟随一起学习下吧
    2021-05-05
  • python数据处理之如何修改索引和行列

    python数据处理之如何修改索引和行列

    这篇文章主要介绍了python数据处理之如何修改索引和行列问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 完美解决keras 读取多个hdf5文件进行训练的问题

    完美解决keras 读取多个hdf5文件进行训练的问题

    这篇文章主要介绍了完美解决keras 读取多个hdf5文件进行训练的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07

最新评论