我有以下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();
答案 0 :(得分:2)
你应该等待元素变得可见:
WebDriverWait wait = new WebDriverWait(webDriver, 5);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div.active span.icon")));
请注意,我在这里使用的是div.active span.icon
CSS选择器,它与具有span
类icon
类div
类的active
元素相匹配。我编写选择器的方式或显式等待应该有帮助。