是否可以知道父级是否包含具有特定类名的子级。 示例代码
<div id="parent_tag">
<div id="div1">
<span>Title 1</span>
</div>
<div id="div2">
<b>Title 2</b>
</div>
<div id="div3">
<span>Title 3</span>
</div>
</div>
我试图访问&#34; span tag&#34;只有标题3.我知道我可以通过指定id来实现。但是,如果我想要它通常(即所有元素)。所以我的第一种方法应该是&#34;我会在div&#34;中寻找span标签。但我不知道该怎么做?请帮忙。
答案 0 :(得分:1)
尝试XPath
:
//div/span[text()="Title 3"]
答案 1 :(得分:0)
使用jquery选择器在div3中选择span:
$("#div3 span")
或者特别是div3中的第一个span元素:
$("#div3 span:first")
答案 2 :(得分:0)
以下是获得所需内容的想法
// Get Parent Element
WebElement parent = driver.findElement(By
.xpath("//div[@id='parent_tag']"));
// Get All children elements of the parent element
List<WebElement> children = parent.findElements(By.xpath("//*"));
// Init some based param for next usage
boolean checkClass = false;
String expectedClass = "Expected_Class";
// Fetch each child element and check whether its text contains expected string.
for (WebElement child : children) {
if (child.getAttribute("class").contains(expectedClass)) {
checkClass = true;
}
}
if (checkClass) {
System.out
.println("We have at least one child has expected class: "
+ expectedClass);
}
else System.out.println("We don't have any child has expected class: "
+ expectedClass);
如果您想查看文字,我们可以
if (child.getText().contains(expectedText)) {
checkResult = true;
}
}
希望它有所帮助。