chrome_extensions/lib/content.js

235 lines
8.4 KiB
JavaScript
Raw Normal View History

2024-08-19 09:59:57 +08:00
chrome.runtime.sendMessage({
ty: 'get'
}, function (r) {
if (r) {
// 判断当前网站是否带有/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, '次');
// 根据次数随机每次观看的时长
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 {
setTimeout(function () {
var playButton = document.getElementsByClassName('ytp-large-play-button ytp-button')[0];
playButton.click();
console.log('点击了播放!');
}, 5000)
}
// 执行
var dingshiqi_duanshipin = setInterval(() => {
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文件");
});