在工作中,我们会遇到需要在浏览器页面上进行大量重复操作的问题。
一、可以通过编写和在浏览器控制台执行脚本解决问题。
示例脚本1:
$('[id="processFormSubmitNext"]').click(); $('[title="结束办理"]').click(); $('[id="comment_textarea"]')[0].value = "已阅。"; window.confirm = () => { return true; }; grcsp_mockSubmitInWindow();
1.用$('[attr="xxx"]').click()获取元素进行点击操作
2.用$('[attr="xxx"]')[0].value进行赋值操作
3.用window.confirm = () => { return true; };解决浏览器弹框问题
4.grcsp_mockSubmitInWindow()即为页面点击函数。
示例脚本2:
const $ = (s) => { return document.querySelector(s); }; const wait = async () => { await new Promise(resolve => { setTimeout(resolve, 200); }); } ; $x('//span[text()="结束办理"]')[0].click(); await wait(); $('[placeholder="请选择常用意见"]').click(); await wait(); $('.el-select-dropdown__item').click(); await wait(); $(".confirm-btn button.el-button--primary").click(); await wait(); $('.el-message-box__btns .el-button--primary.fr').click();
1.重新定义$,防止出现未定义的情况
2.定义wait函数,在执行时可实现等待
3.$x('//span[text()="结束办理"]')[0].click()采用XPath定位元素
二、采用IPA实现
在IPA平台上通过拖拉拽方式编写IPA程序。
三、使用按键精灵实现
通过录制页面操作,按照坐标点击页面。
四、使用X Mouse Button Control实现
建议自定义鼠标中键,自定义按键示例如下:
{MSET:3470,368}{LMB}{WAITMS:1000}{MSET:2332,412}{LMB}{WAIT:6}{MSET:2212,122}{LMB}{WAITMS:800}{MSET:2967,524}{LMB}{WAITMS:500}{MSET:2820,673}{LMB}{WAITMS:850}{MSET:2686,720}{LMB}{WAITMS:800}{MSET:2926,754}{LMB}{WAITMS:2000}{MSET:2981,158}{LMB}{WAITMS:200}
1.MSET即移动到屏幕的某一坐标
2.LMB即点击鼠标左键
3.WAIT即等待几秒的延迟
4.WAITMS即等待几毫秒的延迟
5.需选择重复键入,直到按键被再次按下。
五、使用篡改猴(Tamper Monkey)或暴力猴(Violent Monkey)Chrome扩展程序执行编写的脚本
附:$x重定义
const $x = (s) => { return document.evaluate(s, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; };
编写用户脚本后将脚本添加到插件中
标签:WAITMS,浏览器,重复,await,wait,LMB,MSET,click,页面 From: https://www.cnblogs.com/luoyihao/p/17682428.html