在NodeJS selenium-webdriver中,如何获得元素的innerHTML

时间:2014-06-19 06:31:04

标签: node.js selenium-webdriver

我经历过:https://code.google.com/p/selenium/wiki/WebDriverJs并且它没有任何信息。所以,有人可以提供帮助。

我有

var element = driver.findElements(webdriver.By.id("something"))
console.log('text='+element.getAttribute("inner‌​HTML"));

但是不起作用。大多数文档似乎是针对JAVA而不是nodeJS。如果你遇到一个.getText()函数,我很确定这是JAVA。我实际上只想要文本部分innerText,而不是innerHTML。但这可能要求太多了。

2 个答案:

答案 0 :(得分:10)

您可以像这样检查innerHTML:

driver.executeScript(function() {
    return document.querySelector('#something').innerHTML;
  }).then(function(innerHTML) {
   //check content here 
  });

答案 1 :(得分:6)

根据webdriver.js文档:

var myElement = element(by.css('.myclass'));

myElement.getInnerHtml().then(function(html) {
    //do stuff with html here
});

希望有所帮助!它使用Node.js + Selenium / WebDriver等为我工作。