如何使用 <div> xpath 从标签中获取 id,如果它有多个具有相同类名的类



请找到HTML:

<div id="086" data-activity-type="CompatCheck" class="Activity"></div>

这里只有常量值是data-activity-type="CompatCheck",并且类名对于所有其他元素都是相同的。

当尝试使用data-activity-type打印id时,即CompatCheck使用xpath

预期输出:

086

问题2:观察到唯一唯一的值是id,在这种情况下我们如何获取。

请查找HTML:

<div id="0007" data-activity-type="CompatCheck" class="Activity"></div>

<div id="110007" data-activity-type="CompatCheck" class="Activity"</div>

在尝试使用以下代码行时:

findElement(By.xpath("//div[@data-activity-type='CompatCheck']")).getAttribute("id");

我只得到了第一个id,即;0007

但是我总是需要第二个id="0";110007";,你能建议买第二个身份证吗

由于属性data-activity-type="CompatCheck"是唯一的,您可以使用它,并且可以使用以下任一定位器策略

  • 使用cssSelector:

    System.out.println(driver.findElement(By.cssSelector("div[data-activity-type='CompatCheck']")).getAttribute("id"));
    
  • 使用xpath

    System.out.println(driver.findElement(By.xpath("//div[@data-activity-type='CompatCheck']")).getAttribute("id"));
    

控制台输出:

086

使用XPath或CSS选择器,您可以根据任何常量属性值定位web元素。也就是说,它可以基于常量类名值或id或任何其他属性。在您的情况下,常量属性值为data-activity-type="CompatCheck"。因此,您可以通过XPath或CSS Selector定位此元素,然后提取id属性,如下所示:
XPath

driver.findElement(By.xpath("//div[@data-activity-type='CompatCheck']")).getAttribute("id");

CSS选择器

driver.findElement(By.cssSelector("div[data-activity-type='CompatCheck']")).getAttribute("id");

相关内容

最新更新