如何使用selenium从不包含子元素的元素获取文本

的HTML

<div id='one'>

<button id='two'>i am button</button>

<button id='three'>i am button</button>

i am div

</div>

driver.findElement(By.id('one')).getText();

回答:

我已经看到这个问题在过去大约一年左右的时间里弹出了几次,我想尝试编写此函数…所以就到这里了。它接受父元素,并删除每个子元素的textContent,直到剩下的是textNode为止。我已经在您的HTML上对其进行了测试,并且可以正常工作。

/**

* Takes a parent element and strips out the textContent of all child elements and returns textNode content only

*

* @param e

* the parent element

* @return the text from the child textNodes

*/

public static String getTextNode(WebElement e)

{

String text = e.getText().trim();

List<WebElement> children = e.findElements(By.xpath("./*"));

for (WebElement child : children)

{

text = text.replaceFirst(child.getText(), "").trim();

}

return text;

}

你叫它

System.out.println(getTextNode(driver.findElement(By.id("one"))));

以上是 如何使用selenium从不包含子元素的元素获取文本 的全部内容, 来源链接: utcz.com/qa/415767.html

回到顶部