Greasy Fork is available in English.
自动获取起点经验脚本
// ==UserScript==
// @name 自动获取起点经验
// @namespace http://tampermonkey.net/
// @version 2.1.1
// @description 自动获取起点经验脚本
// @author nuxue
// @match https://my.qidian.com/level
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant none
// @license MIT
// ==/UserScript==
(function () {
'use strict';
// 获得指定的标签,经验值list
const list = document.querySelector('#elTaskWrap');
// 获得指定的子标签的数量
const count = list.children.length;
// 遍历子标签
for (let i = 1; i <= count; i++) {
// 获得指定的任务子标签
const item = list.querySelector('li:nth-child(' + i + ')');
// 获得不同状态
const waitGet = item.querySelector('a');
const doneTask = item.querySelector('span.award-task-status');
// 输出不同状态
console.log(i + " waitGet:" + waitGet + " doneTask:" + doneTask)
// 判断 waitGet不为 null
if (waitGet === null) {
// 领取的状态
if (doneTask !== null) {
if (doneTask.textContent === '已领取') {
// 跳过
continue;
}
}
} else {
// 等待状态
if (waitGet.textContent === '领取') {
//触发领取
setTimeout(function () {
item.querySelector('a').click();
}, 2000);
} else {
// 等待
countdown(item);
}
}
}
//创建一个定时函数.先延时,再刷新页面
function countdown(item) {
// 获得指定的子任务子标签的时间
let minis = item.querySelector('a');
if (minis === null) {
minis = item.querySelector('span.award-task-strong');
}
// 转化为数字,并加1
var time = parseInt(minis.textContent) + 1;
// 提示倒计时执行提示
const subtitleElement = document.querySelector('.exp-subtitle h3');
subtitleElement.textContent = "在线经验值奖励,倒计时时间:" + time + "分钟";
// 倒计时 time 分钟,刷新页面
setTimeout(function () {
location.reload();
}, time * 60 * 1000);
}
})();