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实现网页用户名 密码 验证码自动登录功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Python模拟登录之滑块验证码的破解(实例代码)

    模拟登录之滑块验证码的破解,具体代码如下所示: # 图像处理标准库 from PIL import Image # web测试 from selenium import webdriver # 鼠标操作 from selenium.webdriver.common.action_chains import ActionChains # 等待时间 产生随机数 import time, random # 滑块移动轨迹 def get_tracks1(distance): # 初速度 v = 0 #

  • Python Selenium Cookie 绕过验证码实现登录示例代码

    之前介绍过通过cookie 绕过验证码实现登录的方法.这里并不多余,会增加分析和另外一种方法实现登录. 1.思路介绍  1.1.直接看代码,内有详细注释说明 # FileName : Wm_Cookie_Login.py # Author : Adil # DateTime : 2018/3/20 19:47 # SoftWare : PyCharm from selenium import webdriver import time url = 'https://system.address'

  • python selenium UI自动化解决验证码的4种方法

    本文介绍了python selenium UI自动化解决验证码的4种方法,分享给大家,具体如下: 测试环境 windows7+ firefox50+ geckodriver # firefox浏览器驱动 python3 selenium3 selenium UI自动化解决验证码的4种方法:去掉验证码.设置万能码.验证码识别技术-tesseract.添加cookie登录,本次主要讲解验证码识别技术-tesseract和添加cookie登录. 1. 去掉验证码 去掉验证码,直接通过用户名和密码登陆网

  • python自动登录12306并自动点击验证码完成登录的实现源代码

    以下代码可自动登录12306 - 包括输入用户名密码以及自动识别验证码并点击验证码登陆.该源码需要稍作修改: 把  username.send_keys('xxxxxxx')  中的  xxxxxx 改为 你自己的12306账号. 把  password.send_keys('yyyyyy')     中的 yyyyy 改为自己的 12306 密码. 即可运行. 该源码把自动抢票的核心功能:识别验证码并点击验证码登陆实现了. 把代码稍作加工,即可变为自己的自动抢票代码. 运行环境 - 需要安装p

  • python滑块验证码的破解实现

    破解滑块验证码的思路主要有2种: 获得一张完整的背景图和一张有缺口的图片,两张图片进行像素上的一一对比,找出不一样的坐标. 获得一张有缺口的图片和需要验证的小图,两张图片进行二极化以及归一化,确定小图在图片中间的坐标. 之后就要使用初中物理知识了,使用直线加速度模仿人手动操作 本次就使用第2种,第一种比较简单.废话不多说,直接上代码: 以下均利用无头浏览器进行获取 获得滑块验证的小图片 def get_image1(self,driver): """ 获取滑块验证缺口小图片

  • 用Python进行简单图像识别(验证码)

    这是一个最简单的图像识别,将图片加载后直接利用Python的一个识别引擎进行识别 将图片中的数字通过 pytesseract.image_to_string(image)识别后将结果存入到本地的txt文件中 #-*-encoding:utf-8-*- import pytesseract from PIL import Image class GetImageDate(object): def m(self): image = Image.open(u"C:\\a.png") text

  • python验证码识别的实例详解

    其实关于验证码识别涉及很多方面的内容,入手难度大,但是入手后,可拓展性又非常广泛,可玩性极强,成就感也很足,对这感兴趣的朋友们下面跟着小编一起来学习学习吧. 依赖 sudo apt-get install python-imaging sudo apt-get install tesseract-ocr pip install pytesseract 利用google ocr来识别验证码 from PIL import Image import pytesseract image = Image

  • python3 破解 geetest(极验)的滑块验证码功能

    下面一段代码给大家介绍python破解geetest 验证码功能,具体代码如下所示: from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.action_chains import ActionChains import PIL.Image as image import time,re, random import

  • 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.

  • 基于localStorge开发登录模块的记住密码与自动登录实例

    关于这个模块功能模块的由来,这是鸟大大的处女秀,为什么这么说呢?一天在群里,一个哥们说有私活,开发一个****模块,我那天手痒痒就和他聊了两句,然后,就决定给她做这个模块了,和他谈了谈交付时间,他说最迟两天,然后谈了谈加个,最后达成,500¥!!!这个模块其实第一天晚上我就开发出来了,那时我给他微信说,功能模块开发ok了,要不要远程查看一下,没问题的话就交了,一会他回我,好了就发过来,然后微信就转过来500¥,当时很诧异,毕竟是处女秀,然后就把项目交给他了,并且是完美交付,在客户那里,也没有出现

  • python实现网站用户名密码自动登录功能

    一.概述 公司需要通过网页用户认证登录实现上网,网络设备判断当前帐号12小时没有没上网将会自动断开帐号上网,每天早上上班第一件事就是打开用户认证网页输入. 用户名与密码,有时候要家里通过teamview远程控制软件连接公司电脑,想让公司电脑24小时在线,最后通过python实现了自动登录. 代码: #_*_ coding:utf-8 _*_ import requests,time s=requests.session() data = [ ('opr', 'pwdLogin'), ('user

  • Python完全识别验证码自动登录实例详解

    1.直接贴代码 #!C:/Python27 #coding=utf-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys from pytesser import * from PIL import Image,ImageEnhance,ImageFilter from selenium.common.exceptions import NoSuchElementException,Tim

  • android实现记住用户名和密码以及自动登录

    毕业刚开始上班接触的第一个项目移动护士站,接到了第一任务就是登录,要用到自动登录功能,所以在这做个记录,以后用的时候直接来粘贴复制,废话少说,直奔主题 先上一下效果图,由于只是实现功能,界面没有美化,见谅 由于xml文件内容,就不展现在这了,自己写一写就好,爸妈再也不用担心我的学习了,so easy package com.sdufe.login; import android.app.Activity; import android.content.Context; import androi

  • JavaWeb使用Cookie模拟实现自动登录功能(不需用户名和密码)

    其中包含两个jsp文件,分别为login.jsp和index.jsp 代码如下: login.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "

  • Python Flask前端自动登录功能实现详解

    目录 引言 1. 登录时 2. 定义全局拦截器 引言 在已有的网站中,几乎所有的网站都已经实现了 自动登录 所谓自动登录,其实就是在你登录后,然后关闭浏览器,接着再启动浏览器重新进入刚刚的网站时,无需自己再次登录.更准确的说,在一段时间内,无需自己再次登录 思路:其实所谓的自动登录,到最后的后端逻辑,和你正常的登录逻辑是一样的,也是判断用户名和密码是否正确.只是我们要省略让用户再次输入用户名和密码的步骤,那么肯定就要将用户名和密码存储在一个地方.当检测到用户再次进入时,看看是否满足可以自动登录的

  • Android SharedPreferences实现记住密码和自动登录

    本文实例为大家分享了Android SharedPreferences实现记住密码和自动登录,供大家参考,具体内容如下 效果图: 第一次进入进来 勾选记住密码和自动登录成功后,第二次进来 说明:中间存在的图片或者多余的其他部分可删掉.留下最主要的填写部分和登陆按钮即可.功能还是可以实现的. XML文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="h

  • asp.net利用cookie保存用户密码实现自动登录的方法

    本文实例讲述了asp.net利用cookie保存用户密码实现自动登录的方法.分享给大家供大家参考.具体分析如下: 在asp.net中可以用cookie保存用户的帐户密码实现自动登录的功能,但是需要强调一下,cookie在客户端保存,是不安全的,推荐使用md5加密保存. 下面分析一下在asp.net中cookie的创建.提取与销毁的方法: 创建cookie 复制代码 代码如下: //向客户端写入Cookie HttpCookie hcUserName1 = new HttpCookie("unam

  • Android实现短信验证码自动填写功能

    本实例为大家分享了Android实现短信验证码自动填写功能,供大家参考,具体内容如下 实现思路很简单: 1.在需要输入验证码的Activity代码注册监听短信的广播 2.拦截短信,获取其中的验证码 3.回写到EditText private SmsReciver smsReciver = new SmsReciver(); /** 收到短信Action **/ String ACTION_SMS_RECIVER = "android.provider.Telephony.SMS_RECEIVED

随机推荐