之前一直对于大乱斗elo分获取方式沉迷好久了,好多人去搭建查询网站还收费,昨天在b站刷到了查询elo分数的教程,使用的是浏览器的开发者工具,太好用了。

但是通过开发者工具不断的去搜索还是太累了,那么根据这个原理我就想到了完全可以使用油猴脚本来获取对战elo分数来显示出来。这个文章主要就是介绍如何使用油猴脚本来实现此功能。

本文章涉及代码仅作为学习使用,使用后24小时内删除,用于交流网页开发。请勿用于非法用途。禁止用于一切可能的商业用途。法律风险请联系zhheo@qq.com,我会第一时间删除文章。

安装油猴插件

我用的油猴插件是暴力猴,国内也有ScriptCat也可以用,关于安装油猴插件的方法,我是edge浏览器,在下面安装:

暴力猴

添加脚本

安装后点击加号,添加脚本

添加脚本

删除所有代码,然后输入下面的代码。

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
// ==UserScript==
// @name LOLEloHelper
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 本项目仅作为学习使用,24小时内删除,用于交流网页开发。请勿用于非法用途,
// @author zhheo
// @match https://www.wegame.com.cn/*
// @grant none
// ==/UserScript==

(function() {
'use strict';

// 创建一个监听器,监听所有的 XHR 请求
const origOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function() {
this.addEventListener('load', function() {
if (this.responseURL.includes('https://www.wegame.com.cn/api/v1/wegame.pallas.game.LolBattle/GetBattleDetail')) {
try {
const response = JSON.parse(this.responseText);
const battleDetail = response.battle_detail;
const teamDetails = battleDetail.team_details;

let winTeamElo = null;
let failTeamElo = null;

// 查找胜利和失败队伍的 Elo 分数
teamDetails.forEach(team => {
if (team.win === "Win") {
winTeamElo = team.teamElo;
} else if (team.win === "Fail") {
failTeamElo = team.teamElo;
}
});

setTimeout(() => {
alert(`胜利方elo:${winTeamElo}\n失败方elo:${failTeamElo}`);

// 清空所有 IndexedDB 数据库
indexedDB.databases().then(databases => {
databases.forEach(db => {
var request = indexedDB.deleteDatabase(db.name);
request.onsuccess = function(event) {
console.log(`Database ${db.name} deleted successfully`);
};
request.onerror = function(event) {
console.error(`Error deleting database ${db.name}`, event);
};
request.onblocked = function(event) {
console.warn(`Deleting database ${db.name} was blocked`, event);
};
});
});
}, 300);

} catch (error) {
console.error('Failed to parse the response', error);
}
}
});
origOpen.apply(this, arguments);
};

})();

添加完点击右上角的保存并关闭即可。

保存

访问wegame

进入到wegame然后点击直播。

进入直播

然后进入直播后扫码登录。

登录后在召唤师搜索中找你自己。(不登录搜不了)

搜索

找到人之后进入详情页。

详情

找到你要查询的场次,点进去就有弹窗。

弹窗

缓存问题

点过的场次再次点击不会弹窗,你需要刷新一下即可弹窗。脚本自动包含清除缓存能力,刷新即可。