不是士官长117 发表于 2022-7-11 12:11:36

萌新求助各位哥哥,只想写个简单的自动登录但是不知道

![怎么样输入手机号。。。。.png](data/attachment/forum/202207/11/120756wmcvm98fvfxschvv.png)![自动登录.png](data/attachment/forum/202207/11/120547a9ww9brps075m87f.png)
图1是我的疑问和网站代码,图二是我模仿网上的教程写的但是好像没用,网上的教程很咋不知道看哪个才适用这个网站,求助各位哥哥

steven026 发表于 2022-7-11 12:25:13

```
// @grant      GM_setValue
// @grant      GM_getValue
// ==/UserScript==
/*global $*/
let 账号=GM_getValue("账号");
let 密码=GM_getValue("密码");
let 自动登录=GM_getValue("自动登录");

while(!账号){
    账号=prompt("首次登录需要输入账号")
    if(账号!=null && 账号!=""){
      GM_setValue("账号",账号)
      break
    }
};
while(!密码){
    密码=prompt("首次登录需要输入密码(仅存储在本地浏览器中)")
    if(密码!=null && 密码!=""){
      GM_setValue("密码",密码)
      break
    }
};
if(自动登录==undefined){
    自动登录=confirm("是否勾选自动登录")
    GM_setValue("自动登录",自动登录)
};

!function 选择账号密码登录(){
    if($(".js_pwd_item").length>0){
      $(".js_pwd_item").click()
      !function 自动输入账号密码(){
            if($("#qquin").length>0 && $("#pp").length>0 && $("#ss").length>0 && $("input").length>0){
                $("#qquin").val(账号)
                $("#pp").val(密码)
                if(自动登录){
                  $("#ss").click()
                }
                $("input").click()
            }else{
                setTimeout(自动输入账号密码,100)
            }
      }()
    }else{
      setTimeout(选择账号密码登录,100)
    }
}();
```
我之前自己写的公司QQ企业邮箱自动登录,因为是我自己用的,所以代码是随手乱写的,嵌套+嵌套不是很规范,你可以参考一下。

你的问题应该是页面元素没有全部加载就开始操作元素了
加个setTimeout或者setInterval循环判断元素是否加载然后操作元素应该就可以了

不是士官长117 发表于 2022-7-11 12:32:54

steven026 发表于 2022-7-11 12:25
```
// @grant      GM_setValue
// @grant      GM_getValue


好的好的 感谢我参考一下
页: [1]
查看完整版本: 萌新求助各位哥哥,只想写个简单的自动登录但是不知道