// ==UserScript== // @name 蓝奏云自动点击下载 // @version 2.0 // @description 自动点击蓝奏云页面中的下载按钮,实现自动下载功能 // @author ChatGPT // @include *.lanosso.com/* // @include *.lanzn.com/* // @include *.lanzog.com/* // @include *.lanpw.com/* // @include *.lanpv.com/* // @include *.lanzv.com/* // @include *://*.lanz*.com/* // @include *://lanz*.com/* // @run-at document-end // @grant none // @namespace https://greasyfork.org/users/452911 // @downloadURL none // ==/UserScript== // 找到符合选择器的元素 const element = document.querySelector("[href='javascript:filego();']"); // 如果找到了元素,则触发 click 事件 if (element) { element.click(); } else { console.log('未找到符合选择器的元素'); } // 选择要监视的目标元素 const targetNode = document.body; // 配置观察器的选项(监视子节点变动) const config = { childList: true, subtree: true }; // 创建一个观察器实例并指定回调函数 const observer = new MutationObserver(function(mutationsList) { for(const mutation of mutationsList) { if (mutation.type === 'childList') { mutation.addedNodes.forEach(node => { if (node.tagName && node.tagName.toLowerCase() === 'a') { // 查找具有 onclick='m_load();' 属性的父元素,并在该父元素中查找子元素 进行点击 document.querySelector("[onclick='m_load();'] > a").click(); } }); } } }); // 通过观察器实例与目标节点绑定 observer.observe(targetNode, config); function extractAndNavigateURL() { // 获取整个页面的 HTML 源码,包括 script 标签中的内容 var htmlSource = document.documentElement.innerHTML; // 使用正则表达式匹配并提取 vkjxld 和 hyggid 变量的值 var vkjxldMatch = htmlSource.match(/var vkjxld\s*=\s*['"]([^'"]+)['"];/); var hyggidMatch = htmlSource.match(/var hyggid\s*=\s*['"]([^'"]+)['"];/); // 确保匹配并提取成功 if (vkjxldMatch && hyggidMatch) { // 分别获取匹配到的值 var vkjxldValue = vkjxldMatch[1]; var hyggidValue = hyggidMatch[1]; // 拼接得到完整 URL var completeURL = vkjxldValue + hyggidValue; // 在当前标签页打开拼接好的 URL window.location.href = completeURL; } else { // 如果没有匹配到,抛出错误提示 console.error('未能找到 vkjxld 或 hyggid 变量'); } } extractAndNavigateURL(); (function() { // 获取整个页面的 HTML 源码,包括 script 标签中的内容 var htmlSource = document.documentElement.innerHTML; // 使用正则表达式匹配并提取 link 变量的值 var linkMatch = htmlSource.match(/var link\s*=\s*['"]([^'"]+)['"];/); if (linkMatch) { // 获取当前页面的域名,包括协议部分 var currentDomain = window.location.origin; // 获取匹配到的 link 变量的值 var linkValue = linkMatch[1]; // 拼接当前域名和 link 变量的值 var completeURL = currentDomain + '/' + linkValue; // 在当前标签页打开拼接好的 URL window.location.href = completeURL; } else { // 如果没有匹配到 link 变量,抛出一个错误提示 console.error('未能找到变量 link'); } })();