我创建了一个javascript函数,点击页面中的任何元素都会给出该元素的Xpath以及该元素的所有属性。这部分已经完成。现在我想将此功能用作实用程序,并且可以在任何Web应用程序上运行。有没有办法做到这一点?请sugeest我。下面是JS函数:
<script>
document.onclick= function(event) {
if (event===undefined) event= window.event;
var target= 'target' in event? event.target : event.srcElement;
var path= getPathTo(target);
var attList = getAllAttributes(target);
console.log(path);
};
function getPathTo(element) {
if (element.id!=='')
return "//*[@id='"+element.id+"']";
if (element===document.body)
return element.tagName.toLowerCase();
var ix= 0;
var siblings= element.parentNode.childNodes;
for (var i= 0; i<siblings.length; i++) {
var sibling= siblings[i];
if (sibling===element) return getPathTo(element.parentNode) + '/' + element.tagName.toLowerCase() + '[' + (ix + 1) + ']';
if (sibling.nodeType===1 && sibling.tagName === element.tagName) {
ix++;
}
}
};
function getAllAttributes(element){
var arr=[];
var attrs = element.attributes;
for (var i = 0; i < attrs.length; i++) {
arr.push({ AttributeName:attrs[i].name, Value:attrs[i].value});
}
console.log(arr);
}
</script>