// ==UserScript== // @name 河南工学院校园网自动登录 // @namespace https://www.cnblogs.com/wkkwk // @version 1.2.2 // @description 自动填写并提交校园网登录表单(同步延迟版) // @author 哇咔咔哇咔 // @match http://211.69.15.10:6060/portalReceiveAction.do* // @grant none // ==/UserScript== (function() { 'use strict'; // 配置账户信息(需用户自行修改) const ACCOUNT = { username: '你的账号', // 替换为你的账号 password: '你的密码', // 替换为你的密码 operator: '运营商' // 运营商:yidong-移动/liantong-联通/dianxin-电信 }; // 错误处理函数 function handleError(errorMessage) { console.error('自动登录失败:', errorMessage); alert('自动登录失败: ' + errorMessage); } // 第一步:填写用户名 function step1() { try { const userNameInput = document.getElementById('userName'); if (!userNameInput) throw new Error("用户名输入框未找到"); userNameInput.value = ACCOUNT.username; console.log('用户名已填写'); setTimeout(step2, 1000); } catch (error) { handleError(error.message); } } // 第二步:填写密码 function step2() { try { const passwordInput = document.getElementById('password'); if (!passwordInput) throw new Error("密码输入框未找到"); passwordInput.value = ACCOUNT.password; console.log('密码已填写'); setTimeout(step3, 1000); } catch (error) { handleError(error.message); } } // 第三步:选择运营商 function step3() { try { const operatorButtons = document.querySelectorAll('.loginWay span label i'); let operatorSelected = false; operatorButtons.forEach(button => { if (button.className === ACCOUNT.operator) { button.click(); operatorSelected = true; } }); if (!operatorSelected) throw new Error("运营商选择失败"); console.log('运营商已选择'); setTimeout(step4, 1000); } catch (error) { handleError(error.message); } } // 第四步:提交登录 function step4() { try { const loginBtn = document.querySelector('.loginBtn'); if (!loginBtn) throw new Error("登录按钮未找到"); loginBtn.click(); console.log('已提交登录请求'); } catch (error) { handleError(error.message); } } // 页面加载完成后启动流程 window.addEventListener('load', function() { // 初始等待1秒后开始流程 setTimeout(step1, 1000); }); })();