Is there a way to get element by XPath using JavaScript in Selenium WebDriver?

后端 未结 10 1546
后悔当初
后悔当初 2020-11-22 10:53

I am looking for something like:

getElementByXpath(//html[1]/body[1]/div[1]).innerHTML

I need to get the innerHTML of elements using JS (to

10条回答
  •  余生分开走
    2020-11-22 11:36

    For something like $x from chrome command line api (to select multiple elements) try:

    var xpath = function(xpathToExecute){
      var result = [];
      var nodesSnapshot = document.evaluate(xpathToExecute, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null );
      for ( var i=0 ; i < nodesSnapshot.snapshotLength; i++ ){
        result.push( nodesSnapshot.snapshotItem(i) );
      }
      return result;
    }
    

    This MDN overview helped: https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript

提交回复
热议问题