实际上,我面临选择问题。
我想选中特定父节点内的所有复选框。

例如我的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']"));

10-01 06:30
查看更多