如何解决如何在JavaScript中按元素查找Xpath
每个人都知道使用Xpath查找元素,那里有多种工具来查找元素。但是我有要素。但是如何使用javascript查找该元素的xpath。有什么办法可以找到Xpath。
document.addEventListener('click',function(e) {
e = e || window.event;
var target = e.target || e.srcElement,text = target.textContent || target.innerText;
alert(target.srcElement);
},false);
解决方法
有a comment on SO page,可能会为您提供帮助:
// Returns XPATH to element
function getPathTo(element) {
if (element.tagName == 'HTML')
return '/HTML[1]';
if (element===document.body)
return '/HTML[1]/BODY[1]';
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+'['+(ix+1)+']';
if (sibling.nodeType===1 && sibling.tagName===element.tagName)
ix++;
}
}
// Usage examples:
const spanElem = getPathTo(document.getElementById('mySpan'));
console.log(spanElem);
// Output: "/HTML[1]/BODY[1]/DIV[1]/SPAN[1]"
const iElem = getPathTo(document.getElementsByTagName('i')[0]);
console.log(iElem);
// Output: "/HTML[1]/BODY[1]/DIV[1]/I[1]"
<div>
<span id="mySpan">Some</span>
<i>test</i>
</div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。