您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
检测并自动点击京东一键保价按钮(仅点击一次)
// ==UserScript== // @name 京东一键保价自动点击(简化版) // @namespace http://tampermonkey.net/ // @version 1.0 // @description 检测并自动点击京东一键保价按钮(仅点击一次) // @author YourName // @match https://h5.m.jd.com/pb/016454810/* // @grant none // @run-at document-idle // @license MIT // ==/UserScript== (function() { 'use strict'; // 一键保价按钮选择器 const PRICE_PROTECT_BUTTON_SELECTORS = [ '#one-btn', // 优先使用你提供的ID 'button:contains("一键价保")', // 文本匹配 'button:contains("一键保价")', '.price-protect-btn' // 类选择器 ]; // 只执行一次标志 let hasClicked = false; function clickPriceProtectButton() { if (hasClicked) return; // 尝试查找按钮 const button = findClickableButton(PRICE_PROTECT_BUTTON_SELECTORS); if (button) { console.log('找到一键保价按钮,1秒后点击...'); setTimeout(() => { button.click(); console.log('一键保价按钮已点击'); hasClicked = true; }, 1000); // 等待1秒后点击 } else { console.log('未找到一键保价按钮'); } } // 通用按钮查找函数 function findClickableButton(selectors) { for (const selector of selectors) { let button = null; // 先尝试CSS选择器 button = document.querySelector(selector); // 如果没找到且是ID选择器,尝试XPath if (!button && selector.startsWith('#')) { const xpath = `//*[@id="${selector.replace('#', '')}"]`; const result = document.evaluate( xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null ); button = result.singleNodeValue; } // 检查按钮是否可用 if (button && !button.disabled && button.offsetWidth > 0 && button.offsetHeight > 0) { return button; } } return null; } // 页面加载完成后开始检测 if (document.readyState === 'complete') { clickPriceProtectButton(); } else { window.addEventListener('load', clickPriceProtectButton); } // 额外添加MutationObserver监听DOM变化 const observer = new MutationObserver(() => { if (!hasClicked) { clickPriceProtectButton(); } }); observer.observe(document.body, { childList: true, subtree: true }); })();