苹果iOS捷径(快捷指令)自动填写表单

   日期:2020-10-08     浏览:810    评论:0    
核心提示:文章主要介绍了如何通过捷径(快捷指令)调用 JavaScript 在网页运行的方式快速填写表单。

苹果iOS用户可以通过捷径(快捷指令)快速完成表单填写以提高工作效率。本文主要介绍如何通过捷径(快捷指令)调用 JavaScript 在网页运行的方式快速填写表单。

效果展示:

捷径(快捷指令)在网页上运行JavaScript 脚本基本格式:

var result = [];

// JavaScript代码

// 调用 Completion 以完成
completion(result);

以疫情期间在校生出入校园申请表为例:

首先分析表单所需要填写的信息类型,在本例中,类型主要有文本框、单选按钮、时间选择器:

1. 文本框


对于文本框,我们可以通过定位文本框对应id,通过定义value的形式为文本框赋值。

document.getElementById('ZY').value="需要填写的内容";

2. 单选按钮


面对单选按钮,改变选择器样式并不能将内容最终插入最后提交的表单中,我们需要用到JavaScript的点击动作。

var event = new MouseEvent('click');

var XQ_click = document.getElementsByClassName('van-radio van-radio--horizontal')[1];

XQ_click.dispatchEvent(event);

基本逻辑为:定义点击事件(MouseEvent继承自UIEvent)——定位选择按钮——实现点击。

关于定位选择按钮,这里再强调一下,对于没有独立id的选择按钮,可以通过其在ClassName中的具体位置序号予以定位。

3. 时间选择器


时间选择器数据的填写,我们可以直接使用捷径(快捷指令)的 当前日期功能:

document.getElementById('JTSDJS').value="当前日期";
  1. 手动选择时间以获取时间表达格式:
  2. 在捷径(快捷指令)中将出发时间的当前日期参数格式设置为 yyyy-MM-dd HH:mm,返校时间的当前日期参数格式设置为 yyyy-MM-dd 23:00,即表示出发时间为填表时间,返校时间为当天的23:00

值得注意的是:


这个表单内的元素全部位于idformIframeiframe内,因此在定位表单元素前还需要定位表单:

parent.document.getElementById(“formIframe”)

完整脚本:

var result = [];

parent.document.getElementById("formIframe").contentWindow.document.getElementById('ZY').value="需要填写的内容";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('NJ').value="需要填写的内容";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('BJ').value="需要填写的内容";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('LXFS').value="需要填写的内容";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('SZSS').value="需要填写的内容";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('QJWCSY').value="需要填写的内容";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('JTGJD').value="步行";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('JKZK').value="健康";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('JTSDKS').value="当前日期";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('JTSDJS').value="当前日期";

//MouseEvent继承自UIEvent
var event = new MouseEvent('click');

var XQ_vant_click = parent.document.getElementById("formIframe").contentWindow.document.getElementsByClassName('van-radio van-radio--horizontal')[1];
var ZXTY_vant_click = parent.document.getElementById("formIframe").contentWindow.document.getElementsByClassName('van-radio van-radio--horizontal')[2];
var SFLJ_vant_click = parent.document.getElementById("formIframe").contentWindow.document.getElementsByClassName('van-radio van-radio--horizontal')[5];

XQ_vant_click.dispatchEvent(event);
ZXTY_vant_click.dispatchEvent(event);
SFLJ_vant_click.dispatchEvent(event);

// 调用 Completion 以完成
completion(result);

至此,本文也就进入尾声了。希望本文能够起到抛砖引玉之效,也欢迎大家的批评交流。

如果您有任何疑问或者好的建议,期待你的留言、评论与关注!

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服