【办公类-26-01】20240422 UIBOT网络教研(自动登录并退出多个账号,半自动半人工)

本文主要是介绍【办公类-26-01】20240422 UIBOT网络教研(自动登录并退出多个账号,半自动半人工),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作品展示:

背景需求:

每学期有多次网络教研

因为我有历任搭档的进修编号和登录密码,

所以每次学习时,我会把历任搭档的任务也批量完成。

但是每次登录都要从EXCEL里复制一位老师的“进修编号”“密码”,还要点击多次按钮,才能登录某位老师的账号进去。

手动复制,容易搞不清楚刚才登录的是哪个账户,是否遗漏人员

我想用UIBOT自动读取EXCEL单元格内容,自动键盘输入“编号”“密码”,实现账户登录,然后手动输入学习内容、感悟、回复的文字。一定程度提高完成的速度。

UIBOT(以管理员身份打开)

C++

Dim objExcelWorkBook,arrayRet,iRet,temp,iPID,hWeb,dictRetobjExcelWorkBook = Excel.OpenExcel('''C:\Users\jg2yXRZ\OneDrive\桌面\20230223进修编号10月刷分.xlsx''',true,"Excel","","")
区域=Excel.ReadRange(objExcelWorkBook,"Sheet1","B2:D13",true)
行=UBound(区域)
TracePrint(行)
For i = 0 To 行 step 1hWeb = WebBrowser.Create("chrome","https://shanghai.3ren.cn/",30000,{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200,"sBrowserPath":"","sStartArgs":""})
Window.Show(@ui"窗口_上海教研在线-GoogleChrome","max")
Delay(1000)
#icon("@res:788c1f60-0099-11ef-9784-0942ecf9a81b.png")
Image.Click({"wnd":[{"cls":"Chrome_WidgetWin_1","title":"上海教研在线 - Google Chrome","app":"chrome"}]},{"x": 0, "y": 0, "width": 0, "height": 0},@res"788c1f60-0099-11ef-9784-0942ecf9a81b.png",0.9,"left","click",10000, {"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate","sMatchType":"GrayMatch", "iSerialNo": 1})
Delay(1000)
#icon("@res:8ac35c70-0099-11ef-9784-0942ecf9a81b.png")
Image.Click({"wnd":[{"cls":"Chrome_WidgetWin_1","title":"上海教研在线 - Google Chrome","app":"chrome"}]},{"x": 0, "y": 0, "width": 0, "height": 0},@res"8ac35c70-0099-11ef-9784-0942ecf9a81b.png",0.9,"left","click",10000, {"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate","sMatchType":"GrayMatch", "iSerialNo": 1})
Delay(1000)
#icon("@res:92d9fa90-0099-11ef-9784-0942ecf9a81b.png")
Image.Click({"wnd":[{"cls":"Chrome_WidgetWin_1","title":"CAS – 统一身份认证 - Google Chrome","app":"chrome"}]},{"x": 0, "y": 0, "width": 0, "height": 0},@res"92d9fa90-0099-11ef-9784-0942ecf9a81b.png",0.9,"left","click",10000, {"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate","sMatchType":"GrayMatch", "iSerialNo": 1})
Delay(1000)
TracePrint(区域[i])
编号 = 区域[i][1]
密码 = 区域[i][2]
Keyboard.InputText(@ui"块级元素<div>_师训号/身份证号/用户名",区域[i][1],true,20,10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 500, "bSetForeground": true, "sSimulate": "message", "bValidate": false, "bClickBeforeInput": false})Keyboard.InputText(@ui"输入控件<input>",区域[i][2],true,20,10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 500, "bSetForeground": true, "sSimulate": "message", "bValidate": false, "bClickBeforeInput": false})
Mouse.Drag(826, 598, 1111, 595, "left", [],{"iDelayAfter": 300, "iDelayBefore": 200})#icon("@res:45c72f60-009a-11ef-9784-0942ecf9a81b.png")
Image.Click({"wnd":[{"cls":"Chrome_WidgetWin_1","title":"CAS – 统一身份认证 - Google Chrome","app":"chrome"}]},{"x": 0, "y": 0, "width": 0, "height": 0},@res"45c72f60-009a-11ef-9784-0942ecf9a81b.png",0.9,"left","click",10000, {"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate","sMatchType":"GrayMatch", "iSerialNo": 1})
Delay(1000)iRet = Dialog.MsgBox("手动完成教研,要推出账户","Laiye Automation",0,1,0)
Mouse.Move(1380, 144, false,{"iDelayAfter": 300, "iDelayBefore": 200})
Delay(1000)
Mouse.Move(1392, 350, false,{"iDelayAfter": 300, "iDelayBefore": 200})
Mouse.Click("left", "click", [],{"iDelayAfter": 300, "iDelayBefore": 300})
Delay(1000)#icon("@res:fefad960-009e-11ef-9784-0942ecf9a81b.png")
Image.Click({"wnd":[{"cls":"Chrome_WidgetWin_1","title":"上海教研在线 - Google Chrome","app":"chrome"}]},{"x": 0, "y": 0, "width": 0, "height": 0},@res"fefad960-009e-11ef-9784-0942ecf9a81b.png",0.9,"left","click",10000, {"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate","sMatchType":"GrayMatch", "iSerialNo": 1})
Delay(1000)
Next
Excel.CloseExcel(objExcelWorkBook,true)

视频展示:

测试时,没有录屏,等下一次网络教研再录制

感悟:

用了这个代码,输入网址、输入账号和密码、退出浏览器的部分内容可以用程序自动填写(半自动)、按钮暂停后,进行人工做题(半人工)

可减少人工切换页面,复制黏贴、点击按钮的频率,一定程度提高工作效率

这篇关于【办公类-26-01】20240422 UIBOT网络教研(自动登录并退出多个账号,半自动半人工)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/932733

相关文章

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

Python实现合并与拆分多个PDF文档中的指定页

《Python实现合并与拆分多个PDF文档中的指定页》这篇文章主要为大家详细介绍了如何使用Python实现将多个PDF文档中的指定页合并生成新的PDF以及拆分PDF,感兴趣的小伙伴可以参考一下... 安装所需要的库pip install PyPDF2 -i https://pypi.tuna.tsingh

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言