在 tampermonkey 模拟自动提交数据
$('input[placeholder="text1"]')[0].value = 1;
$('input[placeholder="text2"]')[0].value = 2;
$('.submit .btn')[0].click();
运行之后,总是提示,没有填写数据。。。
看了一下页面中的 js,发现提交部分是用 vuejs 写的,input 的值存储在 vuejs data 的变量中。
理论上,input 是设置了 v-model 双向绑定,数据在填写之后会自动同步到 data 相应变量中。
所以,做了一下修改
$('input[placeholder="text1"]')[0].value = 1;
$('input[placeholder="text1"]')[0].dispatchEvent(new Event('input'));
$('input[placeholder="text2"]')[0].value = 2;
$('input[placeholder="text2"]')[0].dispatchEvent(new Event('input'));
$('.submit .btn')[0].click();
就可以了。
原因是,v-model 只不过是个语法糖,底层还是监听的 input 事件。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式
谈笑风生
火冷 (来自: 中国 浙江 台州 联通) 4年前
大象腿 (来自: 中国 山东 烟台 移动) 4年前