Tampermonkey 网站自动登录脚本

  |  
阅读次数
  |  
字数 601
  |  
时长 ≈ 3 分钟

工作中经常会使用到一些内部网站,每次登录都得频繁输入用户名密码,这些动作日积月累显得很浪费时间,现在让我们来使用Chrome浏览器的Tampermonkey插件,编写一段脚本来帮我们实现自动登录功能吧。

  1. 先在Chrome浏览器的谷歌应用商店上面安装Tampermonkey。

  1. 安装完之后在插件栏应该能看到Tampermonkey的小图标。

  1. 点击Tampermonkey插件小图标,然后点击管理面板,进入脚本管理界面,点击右边的加号,新建脚本。

Tampermonkey_3.png

Tampermonkey_4.png

  1. 复制以下js脚本代码,黏贴进去文本框,然后按Ctrl+s进行保存。
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
64
65
66
67
68
69
70
71
72
73
// ==UserScript==
// @name autoPasswd
// @namespace tidy
// @version 1.1
// @include *://10.121.22.60*
// @grant none
// ==/UserScript==

var globalConfig = {
'stocks': [
{
// 输入框填充设置
targetUrlRegex: new RegExp("^http://10.121.22.60:8080/sys..*$"),
attributeName: 'id',
usernameKey: 's1',
usernameVal: 'UserName',
passwordKey: 's2',
passwordVal: 'Password',
// 自动登录设置
isLogin: true,
loginButtonTag: "input",
buttonAttributeName: "value",
buttonAttributeValue: "登录"
}
]
};

function autoConfig() {
try {
var stocks = globalConfig.stocks;
if (!stocks.length) {
return;
}

for (var idx in stocks) {
// 域名判断
if (!stocks[idx].targetUrlRegex.test(window.location)) {
continue;
}

// 填充输入框
var inputs = document.body.getElementsByTagName('input');
for (var i in inputs) {
var input = inputs[i];
if (input[stocks[idx].attributeName] == stocks[idx].usernameKey) {
input.value = stocks[idx].usernameVal;
} else if (input[stocks[idx].attributeName] == stocks[idx].passwordKey) {
input.value = stocks[idx].passwordVal;
} else if (input[stocks[idx].attributeName] == stocks[idx].captchaKey) {
input.value = stocks[idx].captchaVal;
}
}

// 自动登录
if(stocks[idx].isLogin){
var loginBtnTag = stocks[idx].loginButtonTag;
var tags = document.body.getElementsByTagName(loginBtnTag);
for (var ti in tags) {
var tag = tags[ti];
if (tag[stocks[idx].buttonAttributeName] == stocks[idx].buttonAttributeValue) {
tag.click();
}
}

}
}

} catch (e) {
console.error(e.message);
}
}

setTimeout(autoConfig, 500);
  1. 调试自己的网站,获取用户名、密码输入框以及登录按钮的属性,分别填充到‘stocks’数组里面。

  1. 将需要触发脚本的网站ip或者域名,填写到头部,比如
1
// @include     *://10.121.22.60*
  1. 点击界面的“已安装脚本”,就可以看到我们已经保存的名为“autoPasswd”的脚本名了。

  1. 然后打开我们设置的网站,就可以看到我们的网站一打开就被自动填充了用户名以及密码,然后自动点击了登录按钮进行登录了。