微信公众平台网站模拟自动账号密码的问题

发布于 2022-09-05 09:39:18 字数 856 浏览 14 评论 0

公司这里有一个chrome扩展组件,主要功能是微信公众平台网站自动填写账号密码(因为有很多个账号),
基本就是
$("input[name=account]").val(account);
$("input[type=password]").val(password);
这样的代码,之前是正常,今天突然不行了,必须手动输入,否则报错“你还没有输入帐号!”
自动填写后,手动随便输入一个字再删掉这个字再点登录的话,就会正常
猜测是需要出发什么事件,但是我看了两个input上绑定的事件图片描述
然后我试着
$("input[name=account]").blur();
$("input[tnamepe=account]").keydown();
$("input[name=account]").change();
也试过
$("input[name=account]").trigger('blur');
$("input[name=account]").trigger('keydown');
$("input[name=account]").trigger('change');
$("input[name=account]").trigger('input');
$("input[name=account]").trigger('validate-ok');
都没有用

求教如何模拟输入触发对应事件
或者我看了下它这边似乎是用的seajs加载实例化vue对象,我在chrome扩展组件这里怎么写能获取这个对象?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尘世孤行 2022-09-12 09:39:18

其实原因就是微信的登录页面使用了vue框架,直接写入input值不会触发双向绑定数据更新。
用原生js创建input事件在指定input元素上触发可以触发其双向绑定事件。

function trigger(el, type) {
    var e = document.createEvent('HTMLEvents');
    e.initEvent(type, true, true);
    el.dispatchEvent(e);
}
trigger(input元素(注意是原生对象,不是jq对象,可以通过jq对象的[0]来获取), 'input');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文