解决大量重复操作浏览器页面的方法

在工作中,我们会遇到需要在浏览器页面上进行大量重复操作的问题。

一、可以通过编写和在浏览器控制台执行脚本解决问题。

示例脚本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定位元素

 

ps:XPath即XML Path Language,可以获取页面元素并进行操作。

我们可以通过F12->选定元素->copy xpath获取xPath值,获取xPath值后点击元素JS代码示例如下:

var btn = document.evaluate("/html/body/div/div[3]/div/ul/li[4]/a",document).iterateNext()
btn.click()

 

二、采用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; };

编写用户脚本后将脚本添加到插件中

 

posted @ 2023-09-06 15:40  罗毅豪  阅读(172)  评论(0编辑  收藏  举报