483 lines
13 KiB
JavaScript
483 lines
13 KiB
JavaScript
//延迟函数解决魔鬼定时器问题
|
||
function delay(n) {
|
||
return new Promise(function (resolve) {
|
||
setTimeout(resolve, n * 1000);
|
||
});
|
||
}
|
||
//随机数生成器
|
||
function getRandomInt(min, max) {
|
||
min = Math.ceil(min);
|
||
max = Math.floor(max);
|
||
return Math.floor(Math.random() * (max - min + 1)) + min;
|
||
}
|
||
|
||
//随机滑动函数
|
||
function RandomIntscrollBy(y = 0) {
|
||
let rand = getRandomInt(100, 600);
|
||
scrollBy(0, y == 0 ? rand : y);
|
||
console.log("随机滑动" + rand);
|
||
}
|
||
|
||
//naver使用函数
|
||
const naver = async (r, id) => {
|
||
// $("#kw").val("docker");
|
||
// await delay(1);
|
||
// $("#su").click();
|
||
// await delay(3);
|
||
// for (let index = 0; index < 4; index++) {
|
||
// RandomIntscrollBy()
|
||
// await delay(3);
|
||
// }
|
||
await delay(1);
|
||
send_close(id);
|
||
};
|
||
|
||
//naver使用函数
|
||
const sll360 = async (r, id) => {
|
||
// $("#kw").val("docker");
|
||
// await delay(1);
|
||
// $("#su").click();
|
||
// await delay(3);
|
||
// for (let index = 0; index < 4; index++) {
|
||
// RandomIntscrollBy()
|
||
// await delay(3);
|
||
// }
|
||
|
||
console.log("??360");
|
||
await delay(3);
|
||
send_close(id);
|
||
};
|
||
|
||
const baidu = async (r, id) => {
|
||
// $("#kw").val("docker");
|
||
// await delay(1);
|
||
// $("#su").click();
|
||
// await delay(3);
|
||
// for (let index = 0; index < 4; index++) {
|
||
// RandomIntscrollBy()
|
||
// await delay(3);
|
||
// }
|
||
|
||
console.log("??baidu");
|
||
await delay(30);
|
||
send_close(id);
|
||
};
|
||
//youto短视频
|
||
async function youtube_shorts(r, id) {
|
||
i = 0;
|
||
// 随机执行次数
|
||
randTime = Math.floor(Math.random() * 16) + 15;
|
||
console.log("执行", randTime, "次");
|
||
|
||
// 根据次数随机每次观看的时长
|
||
const list = [];
|
||
for (let i = 0; i < randTime; i++) {
|
||
// 生成 1 到 5 之间的随机整数
|
||
const randomNum = Math.floor(Math.random() * 44) + 5; //44
|
||
// 将随机数添加到列表中
|
||
list.push(randomNum * 1000);
|
||
}
|
||
console.log("每个视频的观看时长:", list);
|
||
|
||
// 首次进入判断是否播放
|
||
var playing =
|
||
document.querySelector("div.playing-mode") == null ? false : true;
|
||
var paused = document.querySelector("div.paused-mode") == null ? false : true;
|
||
console.log("playing", playing, "paused", paused);
|
||
if (playing) {
|
||
console.log("首次进入在播放!");
|
||
} else {
|
||
await delay(5);
|
||
var playButton = document.getElementsByClassName(
|
||
"ytp-large-play-button ytp-button"
|
||
)[0];
|
||
playButton.click();
|
||
console.log("点击了播放!");
|
||
}
|
||
|
||
// 执行
|
||
// var dingshiqi_duanshipin = setInterval(() => {
|
||
// run((randomTime = list[i]));
|
||
// }, list[i] + 2000);
|
||
|
||
while (true) {
|
||
await run((randomTime = list[i]));
|
||
// await delay((list[i] + 2000)/1000);
|
||
}
|
||
|
||
// 定义一个执行函数
|
||
async function run(randomTime) {
|
||
// 执行randTime次后停止
|
||
console.log(
|
||
"总计:",
|
||
randTime,
|
||
"次,当前第:",
|
||
i + 1,
|
||
"次,观看时长:",
|
||
randomTime / 1000,
|
||
"s"
|
||
);
|
||
if (i == randTime) {
|
||
console.log("已经执行", randTime, "次,关闭当前标签页!");
|
||
// clearInterval(dingshiqi_duanshipin);
|
||
send_close(id);
|
||
}
|
||
|
||
// 点赞
|
||
var button = document.querySelector(
|
||
".yt-spec-button-shape-next--icon-button"
|
||
);
|
||
console.log("是否已点赞:", button.getAttribute("aria-pressed"));
|
||
button.click();
|
||
|
||
bao = $("#shorts-inner-container ytd-reel-video-renderer");
|
||
for (j = 0; j < bao.length; j++) {
|
||
// 如果是当前正在播放的视频 点赞+订阅
|
||
if (typeof $(bao[j]).attr("is-active") == "string") {
|
||
dianzan = $(bao[j]).find("button")[23];
|
||
dingyue = $(bao[j]).find("button")[20];
|
||
// 点赞
|
||
if ($(dianzan).is(".yt-spec-button-shape-next--tonal"))
|
||
$(dianzan).click();
|
||
// 订阅
|
||
if ($(dingyue).is(".yt-spec-button-shape-next--filled"))
|
||
$(dingyue).click();
|
||
j = bao.length;
|
||
}
|
||
}
|
||
// 下一集 randomTime - 2s
|
||
await delay(randomTime);
|
||
$("div #navigation-button-down button").click();
|
||
console.log("点击了下一个视频");
|
||
i++;
|
||
}
|
||
|
||
// 定时器
|
||
let timer = setTimeout(function () {
|
||
location.reload();
|
||
console.log("页面长时间无响应");
|
||
}, 60000); // 设置超时时间为 5 秒钟
|
||
|
||
// 在每次页面有响应的时候,清除计时器即可
|
||
window.addEventListener("click", function () {
|
||
console.log("页面有响应");
|
||
// 清除计时器
|
||
clearTimeout(timer);
|
||
// 判断是否再播放
|
||
var playing =
|
||
document.querySelector("div.playing-mode") == null ? false : true;
|
||
var paused =
|
||
document.querySelector("div.paused-mode") == null ? false : true;
|
||
console.log("播放:", playing, "暂停:", paused);
|
||
if (playing) {
|
||
console.log("已播放!");
|
||
} else {
|
||
var playButton = document.getElementsByClassName(
|
||
"ytp-large-play-button ytp-button"
|
||
)[0];
|
||
playButton.click();
|
||
console.log("点击了播放!");
|
||
}
|
||
});
|
||
send_close(id);
|
||
}
|
||
|
||
async function calendar(r, id) {
|
||
await delay(3);
|
||
let number = getRandomInt(2, 5);
|
||
console.log($)
|
||
for (let index = 0; index < number; index++) {
|
||
//上一页
|
||
// $$('.T5GQA >span')[1].querySelectorAll('button')[0].click()
|
||
$(".T5GQA > span").eq(1).find("button").eq(0).click();
|
||
await delay(getRandomInt(2, 5));
|
||
//今天
|
||
$(".L09ZLe >div >div >span >div >button").click();
|
||
await delay(getRandomInt(2, 5));
|
||
}
|
||
//下一页
|
||
$(".T5GQA > span").eq(2).find("button").eq(0).click();
|
||
await delay(getRandomInt(2, 5));
|
||
send_close(id);
|
||
}
|
||
|
||
async function news_google(r, id) {
|
||
console.log("加在完成开始等待8秒");
|
||
//等待五秒怕加载速度过慢
|
||
await delay(10);
|
||
console.log("等待8秒完成");
|
||
//焦点新闻 数量
|
||
let new_length = $(".KDoq1").length;
|
||
//点击会创建新标签暂时没办法控制
|
||
// let rand_new_index=getRandomInt(0,new_length)
|
||
//点击焦点新闻
|
||
$("#i10").click();
|
||
$(".KDoq1")[0].click();
|
||
// console.log( $("#i10"))
|
||
// await delay(10);
|
||
// let the_number_of_swipes = getRandomInt(3, 6);
|
||
// for (let index = 0; index < the_number_of_swipes; index++) {
|
||
// RandomIntscrollBy();
|
||
// await delay(getRandomInt(10, 30));
|
||
// }
|
||
let x = $(".WwrzSb").length,
|
||
y = 1,
|
||
shu = parseInt(Math.random() * (x - y + 1) + y);
|
||
$(".WwrzSb").eq(shu)[0].click();
|
||
scrollBy(0, 153);
|
||
send_close(id);
|
||
}
|
||
//谷歌商店浏览
|
||
async function play_google(r, id) {
|
||
//等待五秒怕加载速度过慢
|
||
await delay(5);
|
||
//滑动次数
|
||
let a = getRandomInt(3, 5);
|
||
for (let index = 0; index < a; index++) {
|
||
RandomIntscrollBy();
|
||
await delay(getRandomInt(0, 5));
|
||
}
|
||
//点击推荐
|
||
if (getRandomInt(0, 1) == 0) {
|
||
$(".Pdcv8e").click();
|
||
await delay(getRandomInt(5, 10));
|
||
//返回主页
|
||
$("#kO001e > header > nav > a").click();
|
||
}
|
||
|
||
//热门游戏随机列表 直接触发点击事件就行
|
||
let popular_games = $(
|
||
"#yDmH0d > c-wiz.SSPGKf.glB9Ve > div > div > div.N4FjMb.Z97G4e > c-wiz > div > c-wiz > c-wiz:nth-child(4) > c-wiz > section > div > div > div > div > div.aoJE7e.b0ZfVe"
|
||
).children;
|
||
await delay(getRandomInt(5, 10));
|
||
//
|
||
send_close(id);
|
||
}
|
||
|
||
async function play_finance(r, id) {
|
||
send_close(id);
|
||
}
|
||
|
||
async function mail(r, id) {
|
||
let emailReply = [
|
||
"우리 실장님이 승진을 축하하기 위해서 다음주 금요일에 (1월 21일에) 오후 5시에 XX 호텔에서 회식이 있습니다 첨부 파일에서 구체적이 정보을 참고하세요. ",
|
||
"회장님의 회의 잘료을 준비위해서 16년에 상품 기획부의 목표 달성 상황을 필요합니다. 다음주 화요일전에 첨부 파일에 형식으로 준비 됬으면 좋겠습니다.많이 감사 드립니다",
|
||
"좋은 하루 지내세요.",
|
||
"연휴에 잘 지내세요.",
|
||
"감사합니다",
|
||
"이번주의 판매 보고을 보내드립니다. 세해 세일때문에 판매 목표를 잘 달성했슴니다. 첨부 파일을 참고하세요. ",
|
||
"좋습니다 좋아요",
|
||
"안녕하세요",
|
||
"좋습니다",
|
||
"좋아요",
|
||
"화이팅",
|
||
"모르겠습니다",
|
||
"모르지만 해도 좋아요",
|
||
"저는 동현 입니다",
|
||
"해도 좋습니까?",
|
||
"괜찮아요?",
|
||
"몇살이에요?",
|
||
"감사합니다",
|
||
"미안합니다",
|
||
"저 갑니다",
|
||
"사랑해요"
|
||
];
|
||
await delay(8);
|
||
let mails = document.querySelectorAll(".zA");
|
||
for (let index = 0; index < mails.length; index++) {
|
||
//挨个查看
|
||
mails[index].click();
|
||
RandomIntscrollBy();
|
||
await delay(getRandomInt(1, 5));
|
||
//邮箱回复
|
||
if (getRandomInt(0, 1) == 0) {
|
||
$(".amn >.ams.bkH").click();
|
||
await delay(getRandomInt(1, 5));
|
||
let text = emailReply[getRandomInt(0, emailReply.length - 1)];
|
||
console.log("注入内容为" + text);
|
||
// $(".Ar.Au >div >div").html = text;
|
||
let tmp_ele=$(".Ar.Au >div")
|
||
$(".Ar.Au >div >div").html(tmp_ele.html(text))
|
||
await delay(3);
|
||
$(".dC >div").click();
|
||
await delay(getRandomInt(1, 5));
|
||
}
|
||
//返回
|
||
$(".aim.ain >div >div >div + div").click();
|
||
await delay(getRandomInt(5, 10));
|
||
}
|
||
send_close(id);
|
||
}
|
||
|
||
async function youtube_shorts2(r, id) {
|
||
//等待五秒怕加载速度过慢
|
||
await delay(5);
|
||
//观看次数
|
||
let views = getRandomInt(50, 100);
|
||
for (let index = 0; index < views; index++) {
|
||
//观看多少秒
|
||
let watch_time = getRandomInt(10, 20);
|
||
await delay(getRandomInt(2, 5));
|
||
//随机暂停播放
|
||
if (getRandomInt(0, 1) == 0) {
|
||
$(".video-stream.html5-main-video").click();
|
||
await delay(getRandomInt(2, 5));
|
||
$(".video-stream.html5-main-video").click();
|
||
await delay(watch_time);
|
||
}
|
||
|
||
//点赞
|
||
if (getRandomInt(0, 5) == 3) {
|
||
//点赞
|
||
document.querySelector("#like-button > yt-button-shape > label").click();
|
||
}
|
||
if (getRandomInt(0, 5) == 2) {
|
||
//不爱看
|
||
document
|
||
.querySelector("#dislike-button > yt-button-shape > label")
|
||
.click();
|
||
}
|
||
|
||
//论区操作
|
||
if (getRandomInt(0, 1) == 0) {
|
||
//打开评论区
|
||
$(
|
||
"#comments-button > ytd-button-renderer > yt-button-shape > label > button > yt-touch-feedback-shape > div > div.yt-spec-touch-feedback-shape__fill"
|
||
).click();
|
||
await delay(getRandomInt(5, 15));
|
||
//随机滑动评论区
|
||
// RandomIntscrollBy();
|
||
//关闭评论区
|
||
$(
|
||
"#visibility-button > ytd-button-renderer > yt-button-shape > button > yt-touch-feedback-shape > div > div.yt-spec-touch-feedback-shape__stroke"
|
||
).click();
|
||
}
|
||
await delay(getRandomInt(3, 5));
|
||
//下一个视频
|
||
$(
|
||
"#navigation-button-down > ytd-button-renderer > yt-button-shape > button > yt-touch-feedback-shape > div > div.yt-spec-touch-feedback-shape__stroke"
|
||
).click();
|
||
}
|
||
//看完关闭窗口
|
||
send_close(id);
|
||
}
|
||
|
||
async function youtube(r, id) {
|
||
alert("youto");
|
||
// 点击长视频观看
|
||
await delay(10);
|
||
//点击订阅 如果已经订阅过了就不用点
|
||
if (
|
||
$(
|
||
"div ytd-subscribe-button-renderer yt-smartimation yt-button-shape button"
|
||
)
|
||
.eq(0)
|
||
.is(".yt-spec-button-shape-next--filled")
|
||
)
|
||
$(
|
||
"div ytd-subscribe-button-renderer yt-smartimation yt-button-shape button"
|
||
)
|
||
.eq(0)
|
||
.click();
|
||
// 点赞
|
||
if (
|
||
$(
|
||
"div ytd-segmented-like-dislike-button-renderer div ytd-toggle-button-renderer yt-button-shape button"
|
||
).is(".yt-spec-button-shape-next--tonal")
|
||
)
|
||
$(
|
||
"div ytd-segmented-like-dislike-button-renderer div ytd-toggle-button-renderer yt-button-shape button"
|
||
)
|
||
.eq(0)
|
||
.click();
|
||
|
||
$("button .yt-spec-button-shape-next--size-m").click();
|
||
next_vido = Math.round(
|
||
Math.random() *
|
||
$("contents ytd-compact-video-renderer div ytd-thumbnail a").length
|
||
);
|
||
if (
|
||
next_vido ==
|
||
$("contents ytd-compact-video-renderer div ytd-thumbnail a").length
|
||
)
|
||
next_vido = next_vido - 1;
|
||
$("#contents ytd-compact-video-renderer div ytd-thumbnail a")
|
||
.eq(next_vido)[0]
|
||
.click();
|
||
}
|
||
|
||
function ServiceLogin(r, id) {
|
||
let mkeww = 0,
|
||
mue = setInterval(function () {
|
||
if ($("form ul>li img").length) {
|
||
clearInterval(mue);
|
||
setTimeout(function () {
|
||
$("form ul>li img").eq(0)[0].click();
|
||
}, 1900);
|
||
} else {
|
||
mkeww++;
|
||
if (mkeww > 106) {
|
||
clearInterval(mue);
|
||
}
|
||
}
|
||
}, 500);
|
||
send_close(id);
|
||
}
|
||
|
||
function send_close(id) {
|
||
chrome.runtime.sendMessage({
|
||
ty: "remove",
|
||
id: id,
|
||
});
|
||
}
|
||
|
||
chrome.runtime.sendMessage(
|
||
{
|
||
ty: "get",
|
||
},
|
||
function (obj) {
|
||
|
||
let r = obj.name;
|
||
let id = obj.id;
|
||
console.log("传递过来的obj" + JSON.stringify(obj));
|
||
switch (r) {
|
||
case "naver":
|
||
naver(r, id);
|
||
break;
|
||
case "360":
|
||
sll360(r, id);
|
||
break;
|
||
case "baidu":
|
||
baidu(r, id);
|
||
break;
|
||
case "youtube":
|
||
youtube(r, id);
|
||
break;
|
||
case "youtube_shorts":
|
||
youtube_shorts2(r, id);
|
||
break;
|
||
case "news_google":
|
||
news_google(r, id);
|
||
break;
|
||
case "play_google":
|
||
play_google(r, id);
|
||
break;
|
||
case "play_finance":
|
||
play_finance(r, id);
|
||
break;
|
||
case "mail":
|
||
mail(r, id);
|
||
break;
|
||
case "calendar":
|
||
calendar(r, id);
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
}
|
||
);
|
||
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
|
||
console.log(request);
|
||
sendResponse("我收到了你的情书,popup~");
|
||
});
|