概述

网页网站自动登录脚本,内测等场景使用

相关说明

一个简单的脚本

[toc]

脚本内容

// ==UserScript==
// @name         EPP控制台自动登录
// @namespace    http://tampermonkey.net/
// @version      2025-01-07
// @description  try to take over the world!
// @author       You
// @match        *://*/*/dist/#/login?*
// @match        *://login\?origin/*
// @match        *://[0-9.]+/dist*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=243.72
// @grant        none
// ==/UserScript==
 
(function() {
    'use strict';
 
    console.log("测试代码");
 
    const MAX_RETRY = 5; // 最大重试次数
    const RETRY_INTERVAL = 2000; // 重试间隔时间(毫秒)
 
    let retryCount = 0; // 当前重试次数
 
    function loginButtonClick() {
        var loginButton = document.querySelector('button.btn-login.el-button--primary.el-button--medium');
        loginButton.click();
        var loginButton1 = document.querySelector('button.el-button.btn-login.el-button--primary.el-button--medium');
        loginButton1.click();
        setTimeout(loginButtonClick, 3000);
    }
 
    function tryLogin() {
        const inputElement = document.querySelector('input[name="username"]') || document.querySelector('input[type="text"][name="username"]') || document.querySelector('input[type="username"][name="username"]');
        const inputElementPwd = document.querySelector('input[name="password"][placeholder="请输入密码"]') || document.querySelector('input[type="password"][name="password"][placeholder="请输入密码"]');
 
        if (inputElement && inputElementPwd) {
            simulateKeyboardInput(inputElement, 'eppadmin');
            simulateKeyboardInput(inputElementPwd, 'EPPAdmin@123456');
            loginButtonClick();
        } else if (retryCount < MAX_RETRY) {
            retryCount++;
            setTimeout(tryLogin, RETRY_INTERVAL);
        }
    }
 
    function simulateKeyboardInput(element, text) {
        const dataTransfer = new DataTransfer();
        const inputEvent = new InputEvent('input', {
            bubbles: true,
            cancelable: true,
            data: text,
            inputType: 'insertText',
            dataTransfer: dataTransfer
        });
 
        element.focus();
        element.value = text;
        element.dispatchEvent(inputEvent);
        element.dispatchEvent(new Event('change'));
    }
 
    window.addEventListener('load', tryLogin);
})();