您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Object Spy for chrome browser
// ==UserScript== // @name Chrome Object Spy // @namespace http://tampermonkey.net/ // @version 0.1 // @description Object Spy for chrome browser // @author You // @match *://*/* // @grant none // ==/UserScript== (function() { 'use strict'; var arrayWithElements = new Array(); document.onclick = clickListener; function clickListener(e) { if(e.target.getAttribute("id")!='dont show popup') { var clickedElement; var clickedElement1; var arialabel; var clickedtagname; var attrname; var attrnamelen; var tagdetails = ""; var itext; if(e === null) { var clickedElement = event.srcElement.getAttribute("id"); clickedtagname = event.srcElement.tagName; } else { var x = e.target.parentNode.nodeName; clickedElement = e.target.getAttribute("id"); clickedElement1 = e.target.getAttribute("class"); clickedtagname = e.target.tagName; var xpth = createXPathFromElement(e.target); arialabel = e.target.getAttribute("aria-label"); itext = e.target.innerText; if(clickedtagname !== null) { tagdetails = tagdetails+"<title>Chrome Object Spy</title><table border='1|0'><tr><th>Property</th><th>Value</th></tr><tr><td>TagName</td><td>"+clickedtagname+"</td></tr>"; } if(itext !== null) { tagdetails = tagdetails+"<tr><td>innertext</td><td>"+ itext+"</td></tr>"; } if(xpth !== null) { tagdetails = tagdetails+"<tr><td>Xpath</td><td>"+ xpth+"</td></tr>"; } for(var i = 0;i<e.target.attributes.length;i++) { attrnamelen = e.target.attributes[i].name.length; attrname = e.target.attributes[i].name; var attr1 = e.target.attributes[i].name; while(attrnamelen<25) { attr1 = attr1+ " "; attrnamelen = attr1.length; } attr1 = attr1; tagdetails = tagdetails +"<tr><td>"+attr1 +"</td><td>"+ e.target.attributes[i].value+"</td></tr>"; } var a = document.createElement("a"); var dt = 'data:text/html,'+tagdetails; a.id = 'dont show popup'; a.addEventListener("click", function(){window.open(dt, 'newwindow', 'width=300, height=250'); return false;}); document.getElementsByTagName('body')[0].appendChild(a); a.click(); } } } function createXPathFromElement(elm) { var allNodes = document.getElementsByTagName('*'); for (var segs = []; elm && elm.nodeType == 1; elm = elm.parentNode) { if (elm.hasAttribute('aria-labelledby')) { segs.unshift(".//"+elm.tagName.toLowerCase()+"[@aria-labelledby='" + elm.getAttribute('aria-labelledby') + "']<br>"); break; } else if(elm.hasAttribute('aria-label')) { var uniqueIdCount = 0; for (var n=0;n < allNodes.length;n++) { if (allNodes[n].hasAttribute('aria-label') && allNodes[n].id == elm.id) uniqueIdCount++; if (uniqueIdCount > 1) break; } if ( uniqueIdCount == 1) { segs.unshift(".//"+elm.tagName.toLowerCase()+"[@aria-label='" + elm.getAttribute('aria-label') + "']<br>"); return segs; } else { segs.unshift(".//"+elm.tagName.toLowerCase()+"[@aria-label='" + elm.getAttribute('aria-label') + "']<br>"); } break; //segs.unshift(elm.localName.toLowerCase() + ".//"+elm.tagName+"[@aria-label='" + elm.getAttribute('aria-label') + "']"); } else if (elm.hasAttribute('id')) { var uniqueIdCount = 0; for (var n=0;n < allNodes.length;n++) { if (allNodes[n].hasAttribute('id') && allNodes[n].id == elm.id) uniqueIdCount++; if (uniqueIdCount > 1) break; } if ( uniqueIdCount == 1) { segs.unshift(".//"+elm.tagName.toLowerCase()+"[@id='" + elm.getAttribute('id') + "']<br>"); return segs; } else { segs.unshift(".//"+elm.tagName.toLowerCase()+"[@id='" + elm.getAttribute('id') + "']<br>"); } break; } else if (elm.hasAttribute('class')) { segs.unshift(".//"+elm.tagName.toLowerCase()+"[@class='" + elm.getAttribute('class') + "']<br>"); break; } else { for (i = 1, sib = elm.previousSibling; sib; sib = sib.previousSibling) { if (sib.localName == elm.localName) i++; } segs.unshift(elm.localName.toLowerCase() + '[' + i + ']'); } } return segs.length ? '' + segs : null; } function lookupElementByXPath(path) { var evaluator = new XPathEvaluator(); var result = evaluator.evaluate(path, document.documentElement, null,XPathResult.FIRST_ORDERED_NODE_TYPE, null); return result.singleNodeValue; } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址