logyes 发表于 2024-5-26 13:06:19

求助,window.addEventListener("load"内的click点击问题

我现在想做一个自动登录的脚本,但是我遇到了一点问题。
我在监听load的时候触发回调函数执行fillForms

```
window.addEventListener("load", () => {
    const currentURL = window.location.href;
    if (currentURL.includes("https://xxx.com/login")) {
      fillForms(getRandomAccount());
    }
});
```

这是fillForms函数的逻辑

```
function fillForms(account) {
    document.querySelector('input').value = account.username;
    document.querySelector('input').value = account.password;
    let submitbutton = document.querySelector('button');
    console.log(submitbutton);
    console.log(submitbutton.click);
    if (submitbutton) {
      console.log(submitbutton);
      submitbutton.click();
    }

    // setTimeout(() => submitbutton.click(), 1000);

    localStorage.setItem("account", account);
}
```

其中页面执行脚本后,submitbutton的节点可以正常输出,但是我的登录页面并不会跳转,我怀疑它没有执行click函数,所以我在注释里面使用延时函数去触发click事件,结果延时触发页面发生了成功跳转登录成功了,为什么呢?我的代码该做怎么样的改进才能直接去触发click事件,而不需要使用延时函数

李恒道 发表于 2024-5-26 20:51:28

感觉跟https://bbs.tampermonkey.net.cn/thread-7115-1-1.html
是一个提问
有区别吗,没区别的话这个问题也算结束了
有区别可以直接回复我,我们一起继续讨论
页: [1]
查看完整版本: 求助,window.addEventListener("load"内的click点击问题