您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
复制 API 按钮为“打开”按钮,点击后自动打开前10个可访问链接,增强兼容性和稳定性
// ==UserScript== // @name Hunter 批量打开前10个链接 // @namespace http://tampermonkey.net/ // @version 1.2 // @description 复制 API 按钮为“打开”按钮,点击后自动打开前10个可访问链接,增强兼容性和稳定性 // @author ChatGPT // @match https://hunter.qianxin.com/list?search=* // @grant none // @run-at document-end // ==/UserScript== (function () { 'use strict'; // 模拟真实点击事件 function triggerMouseClick(element) { ['mousedown', 'mouseup', 'click'].forEach(type => { const evt = new MouseEvent(type, { bubbles: true, cancelable: true }); element.dispatchEvent(evt); }); } // 等待元素出现 function waitForElement(selector, callback) { const el = document.querySelector(selector); if (el) return callback(el); const observer = new MutationObserver(() => { const el = document.querySelector(selector); if (el) { observer.disconnect(); callback(el); } }); observer.observe(document.body, { childList: true, subtree: true }); } // 插入按钮逻辑 waitForElement('.main-title-api', (apiBtnEl) => { const clone = apiBtnEl.cloneNode(true); const btn = clone.querySelector('button'); const spanEl = btn.querySelector('span'); if (spanEl) spanEl.innerText = '打开'; btn.disabled = false; btn.classList.remove('is-disabled'); // 点击行为逻辑 btn.addEventListener('click', () => { console.log('✅ 打开按钮被点击'); // Step 1:尝试使用原选择器 let openIcons = document.querySelectorAll('i.icon-fangwen.can-click'); // Step 2:如果没有找到,则使用更模糊的容错选择器 if (openIcons.length === 0) { console.warn('⚠️ 未找到 .icon-fangwen.can-click,使用 fallback 选择器'); openIcons = Array.from(document.querySelectorAll('i[class*="icon"]')).filter(el => { const cls = el.className; return cls.includes('click') || cls.includes('open') || cls.includes('fangwen'); }); } // Step 3:判断是否找到目标元素 if (openIcons.length === 0) { alert('❗未能找到任何可点击“打开”图标,页面结构可能已更新。'); return; } console.log(`🎯 最终匹配到 ${openIcons.length} 个打开图标`); // Step 4:点击前10个图标 for (let i = 0; i < Math.min(10, openIcons.length); i++) { console.log(`👉 正在点击第 ${i + 1} 个`); triggerMouseClick(openIcons[i]); } // Step 5:等待弹窗中链接加载并打开新标签页 setTimeout(() => { const links = document.querySelectorAll('.q-popover__content .qax-link'); console.log(`🔗 检测到 ${links.length} 个链接`); for (let i = 0; i < Math.min(10, links.length); i++) { const url = links[i]?.innerText?.trim(); if (url && url.startsWith('http')) { console.log(`🌐 打开:${url}`); window.open(url, '_blank'); } else { console.warn(`❌ 无效链接:第 ${i + 1} 个`, links[i]); } } }, 1200); }); // 插入新按钮 clone.style.marginRight = '10px'; apiBtnEl.parentNode.insertBefore(clone, apiBtnEl); console.log('✅ 打开按钮已插入(增强版)'); }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址