// ==UserScript== // @name 油猴中文网_自动登录 // @namespace tmcn_login-ns // @version 0.1.0 // @description 油猴中文网_自动登录,需要提前设置用户配置(用户名、密码) // @author zip11 // @run-at document-end // @grant GM_getValue // @match https://bbs.tampermonkey.net.cn/ // ==/UserScript== /* ==UserConfig== group1: configA: # 键值为group.config,例如本键为:group1.configA title: 登录-用户名 # 配置的标题 description: 登录-用户名 # 配置的描述内容 min: 2 # 文本最短2个字符 max: 18 # 文本最长18个字符 password: false # 设置为密码 configB: title: 登录-密码 description: 登录-密码 # 配置的描述内容 min: 2 # 文本最短2个字符 max: 18 # 文本最长18个字符 password: true # 设置为密码 ==/UserConfig== */ (function() { 'use strict'; // 读取 用户名 var username3 = GM_getValue("group1.configA"); // 读取 密码 var password3 = GM_getValue("group1.configB"); function autoLogin(username2,password2) { // 登录 用户名 填表 console.log("登录 用户名 填表") document.getElementsByName("username")[0].value = username2; document.getElementsByName("password")[0].value = password2; // 记住登录 document.getElementsByName("cookietime")[0].checked = true ; document.getElementsByName("loginsubmit")[0].click(); } // 异步 延时 秒 function sleep1(time) { time*=1000 return new Promise(resolve => { setTimeout(() => { resolve(); }, time); }); } async function login(username1,password1) { // 网页登录 // 网页等待 3s await sleep1(3); // 查找 class let dlu = document.getElementsByClassName("comiis_dlq")[0]; // 检查 登录按钮 if (dlu == null) { console.log("no class 没有登录按钮"); } else { // 点击 登录 按钮 dlu.getElementsByTagName("a")[0].click(); console.log("登录按钮:",dlu); await sleep1(3); // 输入 用户名 登录 autoLogin(username1,password1); } } // 论坛-登录 login(username3,password3); })();