#Wayfarer
点击上方蓝字关注 Ingress Beijing
鉴于最近的Wayfarer挑战并没有进度提示,而鄙人脑门一热在第一天就消耗光了所有修改Po描述的40个额度。之后每天的额度又只有10个。
而且参与挑战的操作有三类,包括修改Po位置、修改Po标题和文字描述、添加Po图片。额度都是分别计量的。
我等P人自然是干不出弄个Excel表记录每天的贡献这种事的。所以在感觉自己传了很多,但是又不知道够不够,差多少的情况下。
手搓了一个利用Wayfarer网站查询自己的破桃🍑贡献值的小脚本。
使用方法如下:
1.打开一个Chrome浏览器(其他浏览器貌似也可以,未测试,如果不能用请换Chrome
2.登录Wayfarer网站( https://wayfarer.nianticlabs.com/)
3.打开 Contribution (或者别的语言的这个页面,总之你能看到自己已经提交的申请列表就好了
4.右键单击页面并选择“检查”或按 F12 打开开发者工具。转到“控制台”选项卡。
5.将以下长长的 JavaScript 代码粘贴到控制台中并按 Enter 键运行
const itemsSet = new Set(); // 用于存储唯一的项目
let countDescriptionEdit = 0;
let countPhotoSubmission = 0;
let countLocationEdit = 0; // 新增:修改位置的项目计数
const descriptionProjectCounts = {}; // 存储修改描述的项目名称及其计数
const photoProjectCounts = {}; // 存储添加图片的项目名称及其计数
const locationProjectCounts = {}; // 存储修改位置的项目名称及其计数
// 更新统计信息的函数
function updateStats() {
console.clear(); // 清除控制台
console.log(修改描述的项目数量: ${countDescriptionEdit});
console.log(添加图片的项目数量: ${countPhotoSubmission});
console.log(修改位置的项目数量: ${countLocationEdit}); // 输出修改位置的项目数量
// 显示修改描述的项目名称及其重复数量
console.log("修改描述的项目: ");
for (const [name, count] of Object.entries(descriptionProjectCounts)) {
console.log(- ${name} (${count}次));
}
// 显示添加图片的项目名称及其重复数量
console.log("添加图片的项目: ");
for (const [name, count] of Object.entries(photoProjectCounts)) {
console.log(- ${name} (${count}次));
}
// 显示修改位置的项目名称及其重复数量
console.log("修改位置的项目: ");
for (const [name, count] of Object.entries(locationProjectCounts)) {
console.log(- ${name} (${count}次));
}
// 计算总数和与150的差距
const totalCount = countDescriptionEdit + countPhotoSubmission + countLocationEdit; // 更新总数计算
const difference = 150 - totalCount;
console.log(总项目数量: ${totalCount});
console.log(与150的差距: ${difference});
}
// 处理项目的函数
function processItems() {
const items = document.querySelectorAll('app-submissions-list-item');
items.forEach(item => {
// 获取项目的标题、日期和内容
const title = item.querySelector('.submissions-item__poiTitle span').textContent.trim();
const dateText = item.querySelector('.text-xs.whitespace-nowrap').textContent.trim();
const content = item.querySelector('.submissions-item__content').textContent.trim(); // 假设这是项目内容的选择器
// 使用标题、日期和内容组合成唯一标识
const uniqueKey = ${title}-${dateText}-${content};
// 检查是否已经处理过该项目
if (!itemsSet.has(uniqueKey)) {
itemsSet.add(uniqueKey); // 添加到 Set 中以避免重复处理
// 检查日期是否大于 2024-10-30
if (new Date(dateText) > new Date('2024-10-30')) {
// 检查项目类型
const descriptionIcon = item.querySelector('img[lay-src="/img/description_icon.svg"]');
const photoIcon = item.querySelector('img[lay-src="/img/photo_icon.svg"]');
const locationIcon = item.querySelector('img[lay-src="/img/location_icon.svg"]'); // 新增:检查修改位置的图标
if (descriptionIcon) {
countDescriptionEdit++;
console.log(修改描述的项目: ${title}, 日期: ${dateText});
descriptionProjectCounts[title] = (descriptionProjectCounts[title] 0) + 1; // 计数
} else if (photoIcon) {
countPhotoSubmission++;
console.log(`添加图片的项目: ${title}, 日期: ${dateText}`);
photoProjectCounts[title] = (photoProjectCounts[title] 0) + 1; // 计数
} else if (locationIcon) { // 新增:处理修改位置的项目
countLocationEdit++;
console.log(修改位置的项目: ${title}, 日期: ${dateText});
locationProjectCounts[title] = (locationProjectCounts[title] || 0) + 1; // 计数
}
// 更新统计信息
updateStats();
}
}
});
}
// 使用 MutationObserver 监视 DOM 变化
const observer = new MutationObserver(() => {
processItems(); // 每当 DOM 变化时调用处理函数
});
// 观察目标节点的变化
observer.observe(document.body, {
childList: true,
subtree: true
});
// 提示用户手动翻页
console.log("请手动翻页以加载更多项目。");
6.最关键的一步,把鼠标移到你的申请列表,向下滚动,直到显示的申请早于2024年10月。(多滚一点也没关系,有日期判别
好的,如果一切正常,随着你往下拉动列表,控制台就会出现统计数据。
本脚本是Gpt写的,我只是监工,统计数据仅供参考。
【已知的bug:如果你一天内给一个po做了多项同类操作,比如加了N张图,改了N次位置,改了N次描述,那只会被统计一次。】
希望大家不要卡着150的数量去完成,怎么也要160吧。如果因为脚本导致的计数错误,导致的没有牌子,本人概不承担任何责任。
特此声明
欢迎关注我们的同步渠道
Telegram - https://t.me/IngressBeijing
网站 - https://bjres.net(可进行历史文章搜索)
玩家助手 - https://t.me/IngressBeijingGPTbot
投稿请发邮件至 tougao@bjres.net
投稿后请及时联系我们,联系方式:
Telegram - @alexrowe
QQ - 350259971
Niantic Chat Group - YxR8TEU4