【TamperMonkey】自动登录脚本

文章目录
  1. 1. 脚本内容
概述

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

相关说明

一个简单的脚本

[toc]

脚本内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// ==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);
})();