//获取 xpath
getXPath(element) {
if (element.id !== "") {
return 'id("' + element.id + '")';
}
if (element === document.body) {
return element.tagName.toLowerCase();
}
const siblings = element.parentNode.children;
let index = 1;
for (let i = 0; i < siblings.length; i++) {
const sibling = siblings[i];
if (sibling === element) {
return (
this.getXPath(element.parentNode) +
"/" +
element.tagName.toLowerCase() +
"[" +
index +
"]"
);
}
if (sibling.nodeType === 1 && sibling.tagName === element.tagName) {
index++;
}
}
},
//通过xpath 获取元素
getHrefByXPath(xpath) {
const result = document.evaluate(
xpath,
document,
null,
XPathResult.FIRST_ORDERED_NODE_TYPE,
null
);
const node = result.singleNodeValue;
return node ? node : null;
},