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. sql 2005性能调优

    转自:http://www.cnblogs.com/MR_ke/archive/2010/08/25/1807856.html SQL Server在运行一段时间,随着数据的积累,SQL运行效率会逐步 ...

  2. 最短路(SPFA)

    SPFA是Bellman-Ford算法的一种队列实现,减少了不必要的冗余计算. 主要思想是: 初始时将起点加入队列.每次从队列中取出一个元素,并对所有与它相邻的点进行修改,若某个相邻的点修改成功,则将 ...

  3. iOS 调试 crash breakpoint EXC_BAD_ACCESS SIGABRT

    原文地址:iOS 调试 crash breakpoint EXC_BAD_ACCESS SIGABRT作者:流年若离殇 在调试程序的时候,总是碰到crash的bug,而且一追踪就是一些汇编的代码,让人 ...

  4. Ubuntu 16.04 Java8 安装

    添加ppa apt-get update apt install software-properties-common add-apt-repository ppa:webupd8team/java ...

  5. java异常处理解决方案

    一.异常概念 Throwable类是Java中所有错误或异常的超类. 1.只有当对象是此类(或其子类)的实例时,才能通过Java虚拟机或着Java throw语句抛出.     2.只有此类或其子类才 ...

  6. [py]js前端求和与flask后端求和

    index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  7. Mysql导入表信息[Err] 1067 - Invalid default value for '字段名'

    修改mysql配置文件 vi /etc/my.cnf //添加以下配置 sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISI ...

  8. React之ant design的table表格序号连续自增

    render(text,record,index){     return(       <span>{(pagination.current-1)*10+index+1}</spa ...

  9. Java命令行参数解析

    参考  http://blog.csdn.net/mldxs/article/details/36204079 http://rensanning.iteye.com/blog/2161201 imp ...

  10. MySQL AUTO_INCREMENT 学习总结

    之前有碰到过开发同事指出一张InnoDB表的自增列 AUTO_INCREMENT 值莫明的变大,由于这张表是通过mysqldump导出导入的. 问题排查: 1.首先,查看表表义的sql部分的 auto ...