selenium 是否有可能找到此元素的公共xpath?

uinbv5nw  于 2023-01-26  发布在  其他
关注(0)|答案(2)|浏览(115)

一个元素的xpath为://div[@class=name-slider-header']//button//img[2]
另一个元素的xpath是://div[@class=name-slider-header']//button//img[1]
实际上,我需要检查在单击"n"次后元素禁用后元素的属性是否必须包含"red",因此我使用element.getAttribute("src").contains("red");element2.getAttribute("src").contains("red");
是否有可能找到此元素的公共xpath?

rn0zuynd

rn0zuynd1#

使用以下xpath标识image元素,其中src值包含red

//div[@class='name-slider-header']//button//img[contains(@src, 'red')]

代码:

imgElements = driver.findElements(By.xpath("//div[@class='name-slider-header']//button//img[contains(@src, 'red')]"));
nx7onnlm

nx7onnlm2#

这两个元素的公共XPath是//div[@class=name-slider-header']//button//img,因此,您可以获得一个元素列表,然后迭代该列表以提取元素属性,如下所示:

elements = driver.findElements(By.xpath("//div[@class=name-slider-header']//button//img"));
for(WebElement element : elements){
    if(element.getAttribute("src").contains("red")){
      // do something
  }
}

相关问题