Guest User

Untitled

a guest
Jan 20th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. function xpath(el) {
  2. if (typeof el == "string") return document.evaluate(el, document, null, 0, null)
  3. if (!el || el.nodeType != 1) return ''
  4. if (el.id) return "//*[@id='" + el.id + "']"
  5. var sames = [].filter.call(el.parentNode.children, function (x) { return x.tagName == el.tagName })
  6. return xpath(el.parentNode) + '/' + el.tagName.toLowerCase() + (sames.length > 1 ? '['+([].indexOf.call(sames, el)+1)+']' : '')
  7. }
  8.  
  9. // Usage:
  10.  
  11. // Getting xpath for node:
  12. var xp = xpath(elementNode)
  13.  
  14. // Executing xpath:
  15. var iterator = xpath("//h2")
  16. var el = iterator.iterateNext();
  17. while (el) {
  18. // work with element...
  19. el = iterator.iterateNext();
  20. }
Add Comment
Please, Sign In to add comment