//延迟函数解决魔鬼定时器问题 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 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)); // } send_close(id); } async function youtube_shorts2(r, id) { //等待五秒怕加载速度过慢 await delay(5); //观看次数 let views = getRandomInt(5, 10); for (let index = 0; index < views; index++) { //观看多少秒 let watch_time = getRandomInt(10, 30); 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); } //点赞 // $('.yt-spec-button-shape-next.yt-spec-button-shape-next--tonal.yt-spec-button-shape-next--mono.yt-spec-button-shape-next--size-l.yt-spec-button-shape-next--icon-button').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(3, 5)); //随机滑动评论区 RandomIntscrollBy(); //关闭评论区 $( "#visibility-button > ytd-button-renderer > yt-button-shape > button > yt-touch-feedback-shape > div > div.yt-spec-touch-feedback-shape__stroke" ).click(); } RandomIntscrollBy(600); } //看完关闭窗口 send_close(id); } async function youtube(r, id) { alert("youto"); // 点击长视频观看 await delay(10); wb = Math.round( Math.random() * $("div #contents ytd-rich-grid-row img").length ); if ( $("div #contents ytd-rich-grid-row img") .eq(wb) .is(".yt-core-image--fill-parent-height") ) $("div #contents ytd-rich-grid-row img").eq(wb).click(); else $("div #contents ytd-rich-grid-row img") .eq(wb + 1) .click(); sum = 1; // 循环播放 2分钟执行一次 执行5次后关闭 var dingshiqi = setInterval(function () { if (sum == 5) { clearInterval(dingshiqi); // 关闭当前窗口的所有标签 const currentTab = window.location.href; chrome.tabs.query({ currentWindow: true }, (tabs) => { tabs.forEach((tab) => { if (tab.url !== currentTab) { chrome.tabs.remove(tab.id); } }); }); } setTimeout(function () { //点击订阅 如果已经订阅过了就不用点 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(); }, 5000); $("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(); sum += 1; send_close(id); }, 240000); // 1200000=20分钟 // 240000=4分钟 } 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; default: break; } } ); chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { console.log(request); sendResponse("我收到了你的情书,popup~"); });