python+selenium的环境准备,请自行安装完成,这里直接贴代码,方便做项目时直接使用。

 import time
from selenium import webdriver
from PIL import Image #创建一个浏览器对象
browser = webdriver.Chrome()
browser.maximize_window()
#打开登录页面
browser.get('http://www.chaojiying.com/user/login/') #定位到账号的输入框
id_input = browser.find_element_by_xpath('//input[@name="user"]')
time.sleep(2)
id_input.send_keys('*******') #定位到密码输入框,输入密码
pw_input = browser.find_element_by_xpath('//input[@name="pass"]')
pw_input.send_keys('*****') """
识别验证码
"""
browser.save_screenshot('login.png') #获取验证码元素的位置
yzm = browser.find_element_by_xpath('//img[@src="/include/code/code.php?u=1"]')
#获取验证码的坐标
loc = yzm.location
#获取验证码图片的宽高
size = yzm.size print("坐标:",loc)
print("宽高",size) #获取验证码位置
left = loc['x']
top = loc['y']
bottom = top+size['height']
right = left+size['width'] #打开页面截图
page_pic = Image.open('login.png')
yzm_pic = page_pic.crop((left,top,right,bottom)) #这里需要传入一个元组 yzm_pic.save('yzm.png') #调用第三方接口识别验证码
from chaojiying import Chaojiying
#读取文件内容
with open('yzm.png','rb') as f:
pic1 = f.read() #调用第三方打码平台接口识别验证码
yz = Chaojiying(username='******', password='******', soft_id='*****')
res = yz.post_pic(pic1,codetype='').get('pic_str') #1902 验证码类型
print('识别的结果:',res) #输入验证码
browser.find_element_by_xpath('//input[@name="imgtxt"]').send_keys(res) time.sleep(5)
#点击登录按钮
browser.find_element_by_xpath('//input[@value="登录"]').click() time.sleep(5)
browser.close()

关于调用第三方平台接口的方法,请查看上一节文章代码:https://www.cnblogs.com/benben-wu/p/10487998.html

python+selenium,实现带有验证码的自动化登录功能的更多相关文章

  1. Python Selenium Cookie 绕过验证码实现登录

    Python Selenium Cookie 绕过验证码实现登录 之前介绍过博客园的通过cookie 绕过验证码实现登录的方法.这里并不多余,会增加分析和另外一种方法实现登录. 1.思路介绍 1.1. ...

  2. 使用Python + Selenium破解滑块验证码

    在前面一篇博客<使用 Python + Selenium 打造浏览器爬虫>中,我介绍了 Selenium 的基本用法和爬虫开发过程中经常使用的一些小技巧,利用这些写出一个浏览器爬虫已经完全 ...

  3. python+selenium实现百度关键词搜索自动化操作

    缘起 之前公司找外面网络公司做某些业务相关关键词排名,了解了一下相关的情况,网络公司只需要我们提供网站地址和需要做的关键词即可,故猜想他们采取的方式应该是通过模拟用户搜索提升网站权重进而提升排名. 不 ...

  4. windiows下搭建python+selenium+unittest+Chrome的Web自动化环境

    一.selenium.unittest概念 Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架.它是一款用于运行端到端功能测试的超强工具.您可以使用多个编程语言编写测试,并且 ...

  5. Python&Selenium&pytest借助allure生成自动化测试报告

    一.摘要 本篇博文将介绍Python和Selenium进行自动化测试时,如何借助allure生成自动化测试报告 二.环境配置 首先python环境中安装pytest和pytest_allure_ada ...

  6. python+selenium识别图片验证码

    import timeimport pytesseractfrom PIL import Image, ImageEnhancefrom selenium import webdriver url = ...

  7. python+selenium进行简单验证码获取

    # _*_ coding:utf-8 _*_from PIL import Imagefrom selenium import webdriverimport pytesseractimport ti ...

  8. python+selenium滑动式验证码解决办法

    from selenium.webdriver import ActionChains action = ActionChains(driver) source=driver.find_element ...

  9. 自动化选课(Python + selenium

    ​ 前几天听到朋友说自己选课事情,突发奇想想要搞这样一个东西,但是由于各种原因只做到以下的完成度,具体的情况也会在解释的最后留下.这个只适用于曲师大的教务系统,因为用的这个系统来进行的一个调试,对于其 ...

随机推荐

  1. python----下载与安装

    在 Windows 上安装 Python 在 Windows 上安装 Python 请按如下步骤进行. 首先,登录 https://www.python.org/downloads/ 页面,可以在该页 ...

  2. H/s:哈希率单位转换

    哈系率说明 挖矿能力是通过寻找矿工可以执行的地块的尝试次数来衡量的.每次尝试都包括创建一个唯一的块候选项,并通过SHA-256d(一种加密哈希函数)创建块候选项的摘要.或者,简而言之,哈希.由于这是一 ...

  3. AARRR 量化感染率

    小结: 1. 用户生命周期 2. K因子量化了感染的概率,即一个已经感染了病毒的宿主所能接触到的所有宿主中,会有多少宿主被其传染上病毒. 假设平均每个用户会向20个朋友发出邀请,而平均的转化率为10% ...

  4. 运行opatch lsinventory

    http://blog.itpub.net/4227/viewspace-704451/ 运行opatch lsinventory 注意执行opatch lsinventory的路径: > $O ...

  5. vsCode如何从github拉取项目

    最近刚使用vscode,有些操作还不太会,所以记录下. 1.开vscode使用CTRL+`或者点击查看到集成终端打开控制终端. 2.在终端中cd到存放文件夹下面,然后git clone https:/ ...

  6. 初始Redis

    一.NoSql数据库(Not Only Sql): 1.又称为非关系型数据库,主流的NoSql数据库有: Redis,Hbase,MongoDB 2.NoSql产生的背景: 1.1.数据库的高并发的读 ...

  7. 公众号获取unionid

    然后在微信客户端输入unionid接口的地址(比如发给文件传输助手www.XXX.COM/unionid.php),随便给别人发过去,在点击该链接,就能看到打印的accessToken,openid, ...

  8. Docker:Docker machine(5)

    Docker machine Docker Machine的安全集成在Docker Toolbox中,是用户在Windows环境下使用docker并管理VirtualBox的一个终端: docker- ...

  9. AppFabric查询工作流实例

    安装 通过IIS查询工作流实例,可以操作挂起,首先打开WF+WCF的站点: 这里可以搜索工作流实例:例如根据工作流ID.创建日期.状态等查询 下方的搜索结果可以查看结果 资源 Windows Serv ...

  10. 台式电脑、笔记本快捷选择启动项Boot 快捷键大全

    我们在安装系统时,会去设置电脑是从硬盘启动.U盘启动.光驱启动.网卡启动. 一般设置的方法有两种:一种是进BIOS主板菜单设置启动项顺序:另一种就是我在这里要介绍的快捷选择启动项. 以下是网友整理的各 ...