实际上,我面临选择问题。
我想选中特定父节点内的所有复选框。
例如我的html代码是这样的:
<div class="A">
<div class="B">
<label class="xyz"> </label>
<label class="xyz"> </label>
<label class="xyz"> </label>
<label class="xyz"> </label>
<div class="C">
<label class="xyz"> </label>
<label class="xyz"> </label>
<label class="xyz"> </label>
<label class="xyz"> </label>
</div>
</div>
</div>
<div class="D">
<div class="B">
<label class="xyz"> </label>
<label class="xyz"> </label>
<label class="xyz"> </label>
<label class="xyz"> </label>
</div>
</div>
现在我想获取所有标签,其中class =“ xyz”和父div class =“ A”。这意味着我想将示例中的前8个标签放入列表中。
有可能这样做吗?
这是我尝试过的:
List<WebElement> myList = driver.findElements(By.cssSelector("div.A>label.xyz"));
不幸的是,这只是将前4个标签添加到列表中。
因此,我的想法是说“获取所有带有class =“ xyz”的标签和带有class =“ A”的父标签“。我希望您能理解我的意思-在互联网上找不到任何准确的信息。
最佳答案
您可以使用下面的xpath获得所有标签:
List<WebElement> myList = driver.findElements(By.xpath("//div[@class='A']//label[@class='xyz']"));