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

yipeiwu_com5年前Python基础

好久没有学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中pymysql 模块的使用详解

pymysql 模块的使用 一、pymysql的下载和使用 (1)pymysql模块的下载 pip3 install pymysql (2)pymysql的使用 # 实现:使用...

python+selenium实现京东自动登录及秒杀功能

本文实例为大家分享了selenium+python京东自动登录及秒杀的代码,供大家参考,具体内容如下 运行环境: python 2.7 python安装selenium 安装webdr...

Django 前后台的数据传递的方法

Django 从后台往前台传递数据时有多种方法可以实现。 最简单的后台是这样的: from django.shortcuts import render def main_page...

python实现通过shelve修改对象实例

本文实例讲述了python实现通过shelve修改对象的方法,分享给大家供大家参考。 具体实现方法如下: import shelve she = shelve.open('try.s...

Python实现的对本地host127.0.0.1主机进行扫描端口功能示例

Python实现的对本地host127.0.0.1主机进行扫描端口功能示例

本文实例讲述了Python实现的对本地host127.0.0.1主机进行扫描端口功能。分享给大家供大家参考,具体如下: 前面一篇《Python IP端口扫描工具类》详细介绍了端口扫描功能...