使用selenium找到存在具有多个类的元素

时间:2015-07-23 04:09:12

标签: selenium xpath selenium-webdriver

我有以下html元素。 使用selenium我需要找到span类my-icon的存在。 另外找出第一个div类是'active'。由于类包含多个类,我无法逐个元素地找到它。

<div class="inner my active">
    <div class="left-side">
        <span class="icon my-icon"></span></div>
    <div class="right-side">
        <span class="icon-connected"></span>       
        <button class="button manage">Manage Connection</button>
    </div>
</div>

1)用于查找span类<span class="icon my-icon"></span>是否存在的代码,它不起作用,并且获取元素不可见。

 WebElement ispresnet = driver.findElement(By.xpath("//span[contains(@class, 'my-icon')]"));
 boolean os = ispresnet.isDisplayed();

1 个答案:

答案 0 :(得分:2)

你应该等待元素变得可见

WebDriverWait wait = new WebDriverWait(webDriver, 5);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div.active span.icon")));

请注意,我在这里使用的是div.active span.icon CSS选择器,它与具有spanicondiv类的active元素相匹配。我编写选择器的方式或显式等待应该有帮助。