This commit is contained in:
parent
a054956bba
commit
a3125fdc8c
76
js/popup.js
76
js/popup.js
|
@ -1,57 +1,37 @@
|
||||||
|
/*
|
||||||
|
* @Author: lingling 1077478963@qq.com
|
||||||
|
* @Date: 2024-08-19 09:47:04
|
||||||
|
* @LastEditors: lingling 1077478963@qq.com
|
||||||
|
* @LastEditTime: 2024-08-19 16:48:39
|
||||||
|
* @FilePath: \谷歌自动搜索邮箱自动点击v3\js\popup.js
|
||||||
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
|
*/
|
||||||
$(function () {
|
$(function () {
|
||||||
|
|
||||||
// var id = 0, due = ['Dell', ' Lenovo ', "ASUS"], kme = 0 , name="";
|
// var id = 0, due = ['Dell', ' Lenovo ', "ASUS"], kme = 0 , name="";
|
||||||
var name="";
|
var id = 0
|
||||||
|
var name = "";
|
||||||
chrome.tabs.create({ url: "https://www.youtube.com/" }, e => {
|
|
||||||
name="youtube";
|
|
||||||
})
|
|
||||||
|
|
||||||
// 延时器作用 过一点时间执行一次
|
|
||||||
// setTimeout(function () {
|
|
||||||
// chrome.tabs.create({ url: "https://www.google.com/" }, e => {
|
|
||||||
// kme = 1;
|
|
||||||
// id = e.id;
|
|
||||||
// });
|
|
||||||
// setTimeout(function () {
|
|
||||||
// chrome.tabs.create({ url: "https://www.google.com/" }, e => {
|
|
||||||
// kme = 2;
|
|
||||||
// id = e.id;
|
|
||||||
// });
|
|
||||||
// setTimeout(function () {
|
|
||||||
// chrome.tabs.create({ url: "https://mail.google.com/" }, e => {
|
|
||||||
// id = e.id;
|
|
||||||
// });
|
|
||||||
// }, 20000);
|
|
||||||
// }, 20000);
|
|
||||||
// }, 20000);
|
|
||||||
|
|
||||||
// 定时1分30秒后 执行新建页面打开油管
|
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
chrome.tabs.create({ url: "https://www.youtube.com/shorts/" }, e => {
|
chrome.tabs.create(
|
||||||
name="youtube/shorts";
|
{
|
||||||
});
|
url: "https://www.baidu.com/",
|
||||||
|
},
|
||||||
|
(e) => {
|
||||||
|
name = "naver";
|
||||||
|
id = e.id;
|
||||||
|
}
|
||||||
|
);
|
||||||
}, 2000);
|
}, 2000);
|
||||||
|
|
||||||
// 浏览器监听事件 每当有新页面生成就会执行
|
// 浏览器监听事件 每当有新页面生成就会执行
|
||||||
chrome.runtime.onMessage.addListener(
|
chrome.runtime.onMessage.addListener(function (
|
||||||
function (request, sender, sendResponse) {
|
request,
|
||||||
|
sender,
|
||||||
|
sendResponse
|
||||||
|
) {
|
||||||
// 判断是产生一个新页面是
|
// 判断是产生一个新页面是
|
||||||
if (request.ty == 'get') {
|
if (request.ty == "get") {
|
||||||
// if (sender.tab.id == id) {
|
sendResponse(name,id);
|
||||||
// sendResponse(due[kme]);
|
|
||||||
// }
|
|
||||||
// else {
|
|
||||||
// sendResponse(name);
|
|
||||||
// }
|
|
||||||
sendResponse(name);
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
});
|
||||||
);
|
});
|
||||||
})
|
|
||||||
|
|
||||||
//*[@id="like-button"]/yt-button-shape/label/button/yt-touch-feedback-shape/div/div[2]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
251
lib/content.js
251
lib/content.js
|
@ -1,234 +1,29 @@
|
||||||
chrome.runtime.sendMessage({
|
//延迟函数解决魔鬼定时器问题
|
||||||
ty: 'get'
|
function delay(n) {
|
||||||
}, function (r) {
|
return new Promise(function (resolve) {
|
||||||
if (r) {
|
setTimeout(resolve, n * 1000);
|
||||||
// 判断当前网站是否带有/search?q= 当搜索框搜索完后会执行这部分代码
|
|
||||||
if (location.href.indexOf('/search?q=') != -1) {
|
|
||||||
// 传递两个参数 按规定随机生成一个数字
|
|
||||||
function rd(n, m) {
|
|
||||||
var c = m - n + 1;
|
|
||||||
return Math.floor(Math.random() * c + n);
|
|
||||||
};
|
|
||||||
setTimeout(function () {
|
|
||||||
// 屏幕向下滚动 569px
|
|
||||||
scrollBy(0, 569);
|
|
||||||
setTimeout(function () {
|
|
||||||
scrollBy(0, 369);
|
|
||||||
setTimeout(function () {
|
|
||||||
// 随机点击一个链接
|
|
||||||
$('a h3').eq(rd(0, $('a h3').length - 1))[0].click();
|
|
||||||
}, 1000);
|
|
||||||
}, 1000);
|
|
||||||
}, 700);
|
|
||||||
// alert("执行了content.js文件 第一个 if里 条件是 location.href.indexOf('/search?q=') != -1")
|
|
||||||
}
|
|
||||||
// 进入邮箱页面 点击邮箱里内容链接
|
|
||||||
else if (location.href.startsWith('https://mail.google.com/')) {
|
|
||||||
if (location.href.startsWith('https://mail.google.com/mail/u/')) {
|
|
||||||
var mkeww = 0, mue = setInterval(function () {
|
|
||||||
if ($('[role="grid"] tbody>tr').length) {
|
|
||||||
clearInterval(mue);
|
|
||||||
setTimeout(function () {
|
|
||||||
$('[role="grid"] tbody>tr').eq(0)[0].click();
|
|
||||||
}, 1900);
|
|
||||||
} else {
|
|
||||||
mkeww++;
|
|
||||||
if (mkeww > 106) {
|
|
||||||
clearInterval(mue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}, 500);
|
|
||||||
// alert("执行了content.js文件 第一个 if里 条件是 location.href.startsWith('https://mail.google.com/mail/u/')");
|
|
||||||
}
|
|
||||||
// alert("执行了content.js文件 第一个 if里 条件是 location.href.startsWith('https://mail.google.com/')");
|
|
||||||
}
|
|
||||||
// 进入用户界面 点击应用列表图标(不知道有啥用处)
|
|
||||||
else if (location.href.startsWith('https://accounts.google.com/ServiceLogin')) {
|
|
||||||
var 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)
|
|
||||||
alert("执行了content.js文件 第一个 if里 条件是 location.href.startsWith('https://accounts.google.com/ServiceLogin')");
|
|
||||||
}
|
|
||||||
// 看长视频
|
|
||||||
else if (r == "youtube") {
|
|
||||||
// 点击长视频观看
|
|
||||||
setTimeout(function () {
|
|
||||||
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();
|
|
||||||
}, 10000);
|
|
||||||
|
|
||||||
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;
|
|
||||||
}, 240000);
|
|
||||||
// 1200000=20分钟
|
|
||||||
// 240000=4分钟
|
|
||||||
}
|
|
||||||
// 看短视频
|
|
||||||
else if (r == "youtube/shorts") {
|
|
||||||
i = 0;
|
|
||||||
// 随机执行次数
|
|
||||||
randTime = Math.floor(Math.random() * 16) + 15;
|
|
||||||
console.log('执行', randTime, '次');
|
|
||||||
|
|
||||||
// 根据次数随机每次观看的时长
|
//naver使用函数
|
||||||
const list = [];
|
const naver = async (r, id) => {
|
||||||
for (let i = 0; i < randTime; i++) {
|
$("#kw").val("docker");
|
||||||
// 生成 1 到 5 之间的随机整数
|
await delay(1);
|
||||||
const randomNum = Math.floor(Math.random() * 44) + 5; //44
|
$("#su").click();
|
||||||
// 将随机数添加到列表中
|
};
|
||||||
list.push(randomNum * 1000);
|
|
||||||
}
|
|
||||||
console.log('每个视频的观看时长:', list);
|
|
||||||
|
|
||||||
// 首次进入判断是否播放
|
chrome.runtime.sendMessage(
|
||||||
var playing = document.querySelector('div.playing-mode') == null ? false : true
|
{
|
||||||
var paused = document.querySelector('div.paused-mode') == null ? false : true
|
ty: "get",
|
||||||
console.log('playing', playing, 'paused', paused);
|
},
|
||||||
if (playing) {
|
function (r, id) {
|
||||||
console.log('首次进入在播放!');
|
switch (r) {
|
||||||
} else {
|
case "naver":
|
||||||
setTimeout(function () {
|
naver(r, id);
|
||||||
var playButton = document.getElementsByClassName('ytp-large-play-button ytp-button')[0];
|
break;
|
||||||
playButton.click();
|
|
||||||
console.log('点击了播放!');
|
|
||||||
}, 5000)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 执行
|
default:
|
||||||
var dingshiqi_duanshipin = setInterval(() => {
|
break;
|
||||||
run(randomTime = list[i])
|
|
||||||
}, list[i] + 2000);
|
|
||||||
|
|
||||||
// 定义一个执行函数
|
|
||||||
function run(randomTime) {
|
|
||||||
// 执行randTime次后停止
|
|
||||||
console.log('总计:', randTime, '次,当前第:', i + 1, '次,观看时长:', randomTime / 1000, 's');
|
|
||||||
if (i == randTime) {
|
|
||||||
console.log('已经执行', randTime, '次,关闭当前标签页!')
|
|
||||||
clearInterval(dingshiqi_duanshipin);
|
|
||||||
window.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
// 点赞
|
|
||||||
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
|
);
|
||||||
setTimeout(function () {
|
|
||||||
// 下一集
|
|
||||||
$('div #navigation-button-down button').click();
|
|
||||||
console.log('点击了下一个视频')
|
|
||||||
}, randomTime);
|
|
||||||
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('点击了播放!');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
function getertText_click(aa, Text) {//输入后再点击
|
|
||||||
aa.dispatchEvent(new Event('click', { bubbles: true }));
|
|
||||||
aa.dispatchEvent(new Event('focus', { bubbles: true }));
|
|
||||||
const set = Object.getOwnPropertyDescriptor(aa.__proto__, 'value').set
|
|
||||||
set.call(aa, Text);
|
|
||||||
aa.dispatchEvent(new Event('input', { bubbles: true }))
|
|
||||||
aa.dispatchEvent(new Event('focus', { bubbles: true }))
|
|
||||||
aa.dispatchEvent(new Event('change', { bubbles: true }))
|
|
||||||
aa.dispatchEvent(new Event('blur', { bubbles: true }))
|
|
||||||
}
|
|
||||||
var mue = setInterval(function () {
|
|
||||||
if ($('[name="q"]').length) {
|
|
||||||
clearInterval(mue);
|
|
||||||
setTimeout(function () {
|
|
||||||
getertText_click($('[name="q"]')[0], r);
|
|
||||||
mue = setInterval(function () {
|
|
||||||
if ($('[name="btnK"]').length) {
|
|
||||||
clearInterval(mue);
|
|
||||||
$('[name="btnK"]').eq(0)[0].click();
|
|
||||||
}
|
|
||||||
}, 1000);
|
|
||||||
}, 2000);
|
|
||||||
}
|
|
||||||
}, 500);
|
|
||||||
}
|
|
||||||
// alert("执行了content.js文件 第一个 if");
|
|
||||||
}
|
|
||||||
// alert("执行了content.js文件");
|
|
||||||
});
|
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
"content_scripts": [
|
"content_scripts": [
|
||||||
{
|
{
|
||||||
"matches": [
|
"matches": [
|
||||||
"https://www.youtube.com/*","https://www.youtube.com/shorts/*","https://www.google.com.hk/","https://www.google.com.hk/search?q=*","https://www.google.com/","https://www.google.com/search?q=*","https://mail.google.com/*","https://accounts.google.com/ServiceLogin*"
|
"https://www.naver.com/*","https://www.baidu.com/*"
|
||||||
],
|
],
|
||||||
"js": [
|
"js": [
|
||||||
"lib/jquery-3.3.1.min.js",
|
"lib/jquery-3.3.1.min.js",
|
||||||
|
|
Loading…
Reference in New Issue