油猴脚本——批量填写表单

wils
wils

创作者俱乐部成员

批量填写网页里的表单是个常见的需求。

想了半天,感觉还是油猴脚本方式,写起来简单,控制精确,稳定,速度快。

💡

var button = document.createElement('button');

button.textContent = '粘贴';

button.addEventListener('click', function() {

if (typeof window.cb === 'undefined') {

navigator.clipboard.readText().then(text => {

window.cb = text;

});

return

}

let arr = window.cb.split('\n');

let t = arr.shift().split('\t');

window.cb = arr.join('\n');

document.querySelectorAll('textarea.ant-input').forEach((e)=>{

let lastValue = e.value;

e.value = t.pop();

let event = new Event('input', { bubbles: true });

event.simulated = true;

let tracker = e._valueTracker;

if (tracker) {

tracker.setValue(lastValue);

}

e.dispatchEvent(event);

});

});

var observer = new MutationObserver(function(mutationsList) {

mutationsList.forEach(function(mutation) {

if (mutation?.addedNodes[0]?.classList?.contains('src-components-container-index__main')) {

var c = document.querySelector('.src-components-nav-bar-index__navBar-center');

c.style.alignContent = 'center';

c.appendChild(button);

observer.disconnect();

}

});

});

observer.observe(document.querySelector('#root'), { childList: true, subtree: true });

操作的逻辑是:

  • 复制表格里的一些行列

  • 网页里插入一个按钮,点击加载剪贴板内容

  • 之后每次点击按钮,逐行,批量填写表单

理论上适用于所有需要填表的网页,不只是金山在线表单

也可以加上各种判断选中按钮之类

也可以改成全自动提交,然后获取结果最终生成csv自动下载

总之,油猴脚本方式可能比鼠标键盘宏更稳定,比selenium方式不会被机器人检查,比cdp方式简单,扩展性足够好,最主要是写起来简单,能偷懒就偷懒😁

广东省
浏览 1002
2
25
分享
25 +1
19
2 +1
全部评论 19
 
鹤
打卡
· 河南省
回复
 
鹤
打卡
· 河南省
回复
 
苹和果 你和我
打卡
· 河北省
回复
 
二毛陀
学习。
· 广东省
回复
 
YiVermouth
打卡
· 云南省
回复
 
鹤
打卡
· 河南省
回复
 
『峰格』
打卡
· 山东省
回复
 
邹忠亮
打卡
· 江西省
回复
 
Summer
打卡
· 福建省
回复
 
厚积、薄发
学习了
· 山东省
回复
 
。
打卡
· 广东省
回复
 
寻梦
来学习了
· 安徽省
回复
 
LG
11
· 中国
回复
 
青衫洗旧
打卡
· 陕西省
回复
 
寻残梦
666
· 广东省
回复
 
Yhan
Yhan

创作者俱乐部成员

python直接读文件不更香嘛,一般拦截加个cookies就行了
· 四川省
1
回复
wils
wils

创作者俱乐部成员

也对,只是不想逆向才用油猴 而且写的不实用,只是尝试演示,没啥意义。。。
· 海南省
回复
 
WPS_1644668212
来学习了,
· 广东省
回复
 
liaobin
学习了
· 浙江省
回复