// ==UserScript== // @name XPath工具 // @namespace https://scriptcat.org/ // @version 2.3 // @description 按自定义快捷键显示输入框,提供XPath操作和功能 // @icon data:image/png;base64,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 // @author Ace // @match *://*/* // @grant GM_getValue // @grant GM_setValue // @grant GM_registerMenuCommand // @grant GM_download // @grant GM_notification // @resource iconFont https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css // @require https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/js/all.min.js // ==/UserScript== (function() { 'use strict'; // 配置和状态变量 let toolbar = null; let settingsPanel = null; let currentElement = null; let isModifierPressed = false; let originalBackgroundColor = ''; let originalOutline = ''; let isDraggingToolbar = false; let isDraggingSettings = false; let dragStartX = 0; let dragStartY = 0; let toolbarX = 0; let toolbarY = 0; let settingsX = 0; let settingsY = 0; let mouseX = 0; let mouseY = 0; // 默认配置 const defaultConfig = { clearOnClose: true, hotkey: "Shift+X", highlightColor: "#FFA500", selectModifier: "Shift", enableOutline: true, enableSound: false, theme: "dark" }; // 从存储中获取配置或使用默认值 let config = { ...defaultConfig, ...GM_getValue("xpath_config", {}) }; // 监听鼠标移动以获取当前位置 document.addEventListener('mousemove', (e) => { mouseX = e.clientX; mouseY = e.clientY; }); // 高亮显示元素 function highlightElement(element) { if (currentElement) { currentElement.style.backgroundColor = originalBackgroundColor; currentElement.style.outline = originalOutline; } originalBackgroundColor = getComputedStyle(element).backgroundColor; originalOutline = getComputedStyle(element).outline; element.style.backgroundColor = config.highlightColor; if (config.enableOutline) { element.style.outline = "2px solid #3498db"; } currentElement = element; } // 清除高亮 function clearHighlight() { if (currentElement) { currentElement.style.backgroundColor = originalBackgroundColor; currentElement.style.outline = originalOutline; currentElement = null; } } // 获取元素的XPath function getXPath(element) { if (element.id) { return `//*[@id="${element.id}"]`; } if (element === document.body) { return '/html/body'; } let ix = 0; const siblings = element.parentNode.childNodes; for (let i = 0; i < siblings.length; i++) { const sibling = siblings[i]; if (sibling === element) { return `${getXPath(element.parentNode)}/${element.tagName.toLowerCase()}[${ix + 1}]`; } if (sibling.nodeType === 1 && sibling.tagName === element.tagName) { ix++; } } } // 导出配置 function exportConfig() { try { const data = JSON.stringify(config, null, 2); const blob = new Blob([data], {type: "application/json"}); const url = URL.createObjectURL(blob); GM_download({ url: url, name: "xpath_config.json", saveAs: true }); } catch (error) { showNotification("导出配置失败: " + error.message, "error"); } } // 导入配置 function importConfig() { const input = document.createElement('input'); input.type = 'file'; input.accept = 'application/json'; input.onchange = e => { const file = e.target.files[0]; if (!file) return; const reader = new FileReader(); reader.onload = event => { try { const imported = JSON.parse(event.target.result); // 验证导入的配置 if (typeof imported !== 'object') { throw new Error("无效的配置文件"); } config = {...config, ...imported}; GM_setValue("xpath_config", config); updateSettingsDisplay(); showNotification("配置导入成功", "success"); } catch (error) { showNotification("配置文件解析失败: " + error.message, "error"); } }; reader.readAsText(file); }; input.click(); } // 显示通知 function showNotification(message, type = "info") { if (typeof GM_notification === "function") { GM_notification({ text: message, title: "XPath工具", image: type === "error" ? "https://icons.iconarchive.com/icons/paomedia/small-n-flat/1024/sign-error-icon.png" : type === "success" ? "https://icons.iconarchive.com/icons/paomedia/small-n-flat/1024/sign-success-icon.png" : "https://icons.iconarchive.com/icons/paomedia/small-n-flat/1024/sign-info-icon.png" }); } else { alert(`XPath工具: ${message}`); } } // 创建设置面板 function createSettingsPanel() { if (document.getElementById('xpath-settings')) return; settingsPanel = document.createElement('div'); settingsPanel.id = 'xpath-settings'; settingsPanel.className = `xpath-panel ${config.theme}-theme`; settingsPanel.style.cssText = ` position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: ${config.theme === 'dark' ? '#2c3e50' : '#f5f5f5'}; padding: 20px; border-radius: 8px; color: ${config.theme === 'dark' ? 'white' : '#333'}; z-index: 10000; display: none; box-shadow: 0 0 20px rgba(0,0,0,0.3); min-width: 320px; user-select: none; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; transition: opacity 0.3s ease; `; settingsPanel.innerHTML = `