操作步骤:

1:登陆打开CET-考试系统

2:填写相关登陆信息

3:调用百度ocr实现文字验证码识别

4:实现登陆


如何使用和调用百度ocr文字识别接口

1:进入百度AI开发平台:链接

2:在页面上选择进入控制台:

3:登陆百度账号(没有百度账号的需要先注册)

4:进来后点击文字识别
5:进来后再点击创建应用(这里我已创建好)

6:获取我门需要的三个信息,后面代码需要用到
即AppID,APIkey,SecretKey


代码需要用到的python库

1: selenium

2: time(时间模块,用于适当的时间加载限制)

3:PIL(图像处理模块,也可用Open-cv模块代替实现相关需求)
4: baidu-aip模块

少数人可能在from aip import AipOcr 这段代码就报错了,原因是你没有安装百度的接口,不过没关系,你只需要用cmd进入你安装Python的路径下执行 pip install baidu-aip 即可!


下面进入代码环节(有注释):

#利用百度ocr识别自动登陆四级考试网并进入报名页面
from  selenium import  webdriver
from time import sleep
from  PIL import  Image
from aip import  AipOcr
from selenium.webdriver.support.select import Select
from selenium.common.exceptions import UnexpectedAlertPresentException#驱动的加载和访问页面
driver = webdriver.Chrome()
driver.maximize_window()
#设置页面加载时间
driver.set_page_load_timeout(20)
driver.set_script_timeout(20)
#CET-考试系统网址
url = 'http://cet-bm.neea.edu.cn/'
driver.get(url)#点击进入报名页面
driver.find_element_by_xpath('//*[@id="main_l"]/a[1]/p[1]').click()
#填写相关信息
username = '######' #这里填写你的登陆用户名,如手机号
password = '#####'  #这里输入你的登陆密码
driver.find_element_by_xpath('//*[@id="txtUserName"]').send_keys(username)
driver.find_element_by_xpath('//*[@id="txtPassword"]').send_keys(password)
driver.implicitly_wait(3) #隐式等待"""截屏并调用百度ocr文字识别输入验证码"""
while True:driver.find_element_by_xpath('//*[@id="txtCheckImageValue"]').clear() #每次执行前清空输入栏screenImg = r'D:\python\1.png'  #截图图片的存储路径,我这里放入我的相关目录,你也可以更改r'###'的内容#截图整个窗口的图,据此后面再根据坐标信息截图特定验证码位置的图driver.get_screenshot_as_file(screenImg)#获取验证码图片的位置坐标信息location = driver.find_element_by_xpath('//*[@id="imgCheckImage"]').location#获取验证码图片的尺寸大小size = driver.find_element_by_xpath('//*[@id="imgCheckImage"]').size#获取截图所需的位置信息left = int(location['x'])top = int(location['y'])right = int(location['x']+size['width'])bottom = int(location['y']+size['height'])#由上面的坐标信息截图特定区域,得到验证码截图img = Image.open(screenImg).crop((left,top,right,bottom))img.save(screenImg)#定义百度ocr相关变量,将你的前面百度复制三个信息填入其中AppID = '#########'APIKey = '##########'SecretKey = '#########'#初始化操作client = AipOcr(AppID,APIKey,SecretKey)i = open(screenImg,'rb') #以rb方式打开目标路径图片即验证码截图img = i.read()  #读取截图message = client.basicGeneral(img)print(message)for i in message.get('words_result'):print(i,i.get('words'))if message.get('words_result') != []:driver.find_element_by_xpath('//*[@id="txtCheckImageValue"]').send_keys(i.get('words'))else:driver.find_element_by_xpath('//*[@id="txtCheckImageValue"]').send_keys('识别不出来')#判断登陆情况据此执行不同操作try:#点击登陆按钮driver.find_element_by_xpath('//*[@id="ibtnLogin"]').click()if u'欢迎使用CET考试报名系统' not in driver.title:print("窗口弹出,验证码错误")#由于登陆失败会弹出对话框,下面是处理弹出的对话框alert = driver.switch_to.alertsleep(2)alert.accept()else:print("登陆成功!!")breakexcept UnexpectedAlertPresentException:print("重新登陆......")driver.implicitly_wait(3)#注意重新登陆尝试需要对几个输入框都清空username = "#######"  #这里输入你的用户名password = "######"   #这里输入你的密码driver.find_element_by_xpath('//*[@id="txtUserName"]').clear()driver.find_element_by_xpath('//*[@id="txtUserName"]').send_keys(username)driver.find_element_by_xpath('//*[@id="txtPassword"]').clear()driver.find_element_by_xpath('//*[@id="txtPassword"]').send_keys('password')print("恭喜,您已成功通过识别验证码")

The End!!创作不易,欢迎点赞/评论!!欢迎关注个人公众号

python(自动化)利用selenium+百度ocr文字识别验证码实现自动登陆登陆CET-四级报名系统相关推荐

  1. UIPATH 调用第三方接口(百度OCR文字识别举例)

    业务场景: 使用RPA获取业务系统网站的验证码截图,将截图转base64之后传到百度OCR文字识别接口,获取文字识别结果,将识别结果用作登陆业务系统的验证码凭证.从而解决RPA自动登录系统的问题. 设 ...

  2. 百度OCR文字识别-Android安全校验

    百度OCR文字识别-Android安全校验 本文转载自好基友upuptop:https://blog.csdn.net/pyfysf/article/details/86438769 效果图: 如下为 ...

  3. 百度OCR文字识别API使用心得 com.baidu.ocr.sdk.exception.SDKError[283604]

    百度OCR文字识别API使用心得 com.baidu.ocr.sdk.exception.SDKError[283604] 本文转载自好基友upuptop:https://blog.csdn.net/ ...

  4. Java调用百度OCR文字识别的接口

    调用百度OCR文字识别的接口,来自于百度官网,亲测可以使用 跳转链接 FileUtil的下载链接 Base64Util下载链接 HttpUtil下载链接 GsonUtils下载链接 Accurate. ...

  5. android百度识别,百度OCR文字识别-Android安全校验

    效果图: 如下为文章正文: 百度OCR接口使用总结: 之前总结一下关于百度OCR文字识别接口的使用步骤(Android版本 不带包名配置 安全性弱).这边博客主要介绍,百度OCR文字识别接口,官方推荐 ...

  6. Java调用百度OCR文字识别API实现图片文字识别软件

    java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...

  7. 百度OCR文字识别及使用案例

    百度OCR文字识别使用案例 案例环境 Windows10.Jdk1.8.IDEA2019.3.5旗舰版 一.账号注册及创建应用 1.访问地址: https://ai.baidu.com/tech/oc ...

  8. Android百度ocr相机裁剪,百度OCR文字识别案例_android防止akamp;sk;泄漏版本

    [实例简介] 百度OCR文字识别,支持手机拍照识别,相册选择识别.网络图片识别等功能.该demo的配文博客为https://blog.csdn.net/pyfysf/article/details/8 ...

  9. 百度OCR 文字识别 Android安全校验

    百度OCR接口使用总结: 之前总结一下关于百度OCR文字识别接口的使用步骤(Android版本 不带包名配置 安全性弱).这边博客主要介绍,百度OCR文字识别接口,官方推荐使用方式,授权文件(安全模式 ...

最新文章

  1. python装饰器学习
  2. python 2 3 读写中文文件 使用codecs最方便
  3. Kubernetes用户指南(二)--部署组合型的应用、连接应用到网络中
  4. mysql innodb log_教你如何理解mysql中的innoDB log
  5. OpenJudge NOI 1.8 15:细菌的繁殖与扩散
  6. Windows x64平台 获取PEB表,并获取kernel32.dll的基址,并获取它的函数
  7. vector使用中可能出现的一个陷阱
  8. 自动化用例设计原则+web自动化框架
  9. SQUEEZENET: ALEXNET-LEVEL ACCURACY WITH 50X FEWER PARAMETERS AND 0.5MB MODEL SIZE
  10. linux 文件系统简介
  11. android大作业源代码,大作业源代码.doc
  12. iec611313标准下载_欧姆龙PLC编程软件中功能块的使用方法
  13. java 万年历接口_农历计算,农历查询API接口,万年历农历查询,农历+禁忌查询 |在线免费 API...
  14. OA发展建议有奖调研内容
  15. 怎么把PDF图片转换成PPT
  16. Python数模笔记-NetworkX(5)关键路径法
  17. 线性代数(numpy.linalg)
  18. 武汉市10月双软认定好处、认定条件及9月认定名单公示
  19. eclipse离线安装PyDev
  20. ​IBM、Google、Oracle三巨头的公有云之殇(下)

热门文章

  1. DCCI:“文章事件”等话题引爆微博用户活跃度
  2. npm run dev error:0308010C:digital envelope routines::unsupported
  3. 货车运输(LCA+最大生成树)
  4. 【ccf】202012-4 食材运输【贪心、dfs、状压dp、二分】
  5. 常用CSS3标签及个性效果
  6. DevelopTraining(20)---执行网络操作
  7. 树莓派显示不能全屏问题解决记录
  8. iOS13.2beta1来袭,又来新功能了!看来十一没放假
  9. springboot项目的基本架构原理图
  10. HTML5+CSS3海绵宝宝网站设计(3)