您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
2024/7/5 14:08:26
// ==UserScript== // @name iyuu 辅种 qBittorrent 和 Transmission 自动开始任务 // @namespace Violentmonkey Scripts // @include * // @grant none // @version 1.2 // @description 2024/7/5 14:08:26 // ==/UserScript== (function() { 'use strict'; function clickContinue() { // 处理 qBittorrent processQbittorrent(); // 处理 Transmission processTransmission(); } function processQbittorrent() { // 检测状态为"完成"的项并模拟点击 var completedRows = document.querySelectorAll('td[title="完成"]'); completedRows.forEach(row => { simulateClick(row); }); // 检测状态为"暂停",且完成度大于99%的项 var pausedRows = document.querySelectorAll('td[title="暂停"]'); pausedRows.forEach(row => { // 寻找完成度元素 var progressBar = row.closest('tr').querySelector('.progressbar_dark'); if (progressBar) { // 获取完成度百分比 var percentage = parseFloat(progressBar.textContent); if (percentage > 99) { // 当完成度大于99%时,模拟点击 simulateClick(row); } } }); } function processTransmission() { // 检测状态为"已暂停"的项 var pausedRows = document.querySelectorAll('div.td[style*="width: 80px;"] > div'); pausedRows.forEach(row => { if (row.textContent.trim() === "已暂停") { // 寻找完成度元素 var progressBar = row.closest('.tr').querySelector('.progressbar.white-outline > div:nth-child(1)'); if (progressBar) { // 获取完成度百分比 var percentage = parseFloat(progressBar.textContent); if (percentage > 99) { // 当完成度大于99%时,模拟点击 simulateClick(row); } } } }); } function simulateClick(element) { // 模拟点击事件 var clickEvent = new MouseEvent("click", { "view": window, "bubbles": true, "cancelable": false }); element.dispatchEvent(clickEvent); // 模拟点击项 // 查找并点击对应的"继续"按钮 var continueButton = document.querySelector('img.mochaToolButton[title="继续"]'); if (continueButton) { continueButton.click(); } else { // 如果在 Transmission 中 simulateF3KeyPress(); } } function simulateF3KeyPress() { var targetElement = document.activeElement || document.body; var f3KeyDown = new KeyboardEvent('keydown', { key: 'F3', code: 'F3', keyCode: 114, which: 114, bubbles: true, cancelable: true }); var f3KeyUp = new KeyboardEvent('keyup', { key: 'F3', code: 'F3', keyCode: 114, which: 114, bubbles: true, cancelable: true }); targetElement.dispatchEvent(f3KeyDown); targetElement.dispatchEvent(f3KeyUp); } setInterval(clickContinue, 5000); // 每5秒执行一次操作 })();