https://mp.weixin.qq.com/ 想实现微信公众号管理后台不用输入账户密码的自动登录: 下面是页面注入的 Js
let uinfos = [{
"usn": "用户名",
"pwd": "密码"
}
];
let uinfo = uinfos[0];
let usnobj = document.querySelector('[name="account"]');
usnobj.value = uinfo.usn;
let pwdobj = document.querySelector('[name="password"]');
pwdobj.value = uinfo.pwd;
setTimeout(function () { //模拟点击登录按钮
document.querySelector('.btn_login').click();
}, 200);
最终提示我: 你还没有输入帐号!
原因可能是,我直接给 input 赋值,无法触发 input 的 一些事件,而 mp.weixin.qq.com 公众号这个后台,有可能自己定义了事件模型,导致我最终无法成功
1
ferrum 2017-09-16 00:36:06 +08:00
有那么难吗,直接用 LastPass 填充密码不行?
|
2
freed 2017-09-16 01:08:34 +08:00
只懂一丢丢 javascript
控制台里执行 document.getElementsByName('account')[0].value='123456',成功修改用户名框... 不知道是不是楼主想要的效果.. https://i.loli.net/2017/09/16/59bc0901c91fe.png |
3
freed 2017-09-16 01:22:47 +08:00
好吧我错了.原来是提交的时候没用..
|
4
zbinlin 2017-09-16 01:30:19 +08:00 1
看下了,页面是使用 vue 框架的,像 vue、react 里通过数据驱动页面的,直接改 dom 是很难生效的。
这里在赋值之后可以触发下模拟 input 事件,比如 ``` ... usnobj.dispatchEvent(new UIEvent('input')); ... pwdobj.dispatchEvent(new UIEvent('input')); ``` 来欺骗下 vue |
5
aver4vex 2017-09-16 08:44:53 +08:00
既然直接赋值不行,那就模拟键盘输入呗,我记得用 python+selenium 是可以的,js 绝对也是可以实现的。
|