使用Selenium WebDriver获取标签后的文本

时间:2013-06-12 06:43:29

标签: c# selenium-webdriver

我发现了其他寻找label text的问题,但我之后发现的是标签后的文字。

例如,我有一段代码:

<p>
<label>My awesome name:</label>
"Mark Mayo"
</p>

我的理解是,如果我想要标签,我可以使用XPath查询,例如:

//label[text()='My awesome name:']

查看标签是否存在,但我不确定如何访问不在标签内的纯文本,而是取而代之的。

建议?

1 个答案:

答案 0 :(得分:1)

类似(我使用Java语法)

public String getNodeTextContent(WebElement node) {
    String nodeContent = node.getAttribute("textContent");

    List<WebElement> childs = node.findElements(By.xpath("*"));
    if (childs.size() == 0) {
        return allContent;
    }

    for (WebElement child : childs) {
        nodeContent = nodeContent.replace(child.getAttribute("textContent"), "");
    }

    return nodeContent;
}

它基本上只是从节点内容中删除节点的所有直接子节点的文本内容,这应该只留下节点的真实内容。