【问题标题】:using selenium find the existence of element having multiple classes使用 selenium 查找具有多个类的元素的存在
【发布时间】:2015-10-13 04:56:43
【问题描述】:

我有以下 html 元素。 使用 selenium 我需要找到跨度类 my-icon 的存在。 还发现第一个 div 类是“活动的”。由于该类包含多个类,我无法按类查找元素。

<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) 用于查找跨度类&lt;span class="icon my-icon"&gt;&lt;/span&gt; 存在的代码不起作用并且获取元素不可见。

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

【问题讨论】:

  • 希望这可能会有所帮助.. stackoverflow.com/questions/1604471/…
  • 对于多个课程,您可以使用 css 并通过 '.' 加入课程在你的情况下 try-By.cssSelector("div>div>span.icon.my-icon")

标签: selenium xpath selenium-webdriver


【解决方案1】:

你应该等待元素变得可见

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

请注意,我在这里使用div.active span.icon CSS 选择器,它将匹配具有icon 类的span 元素,该元素位于具有div 类的div 元素中。无论是我编写选择器的方式,还是显式等待都应该在这里有所帮助。

【讨论】:

    猜你喜欢
    • 2022-01-12
    • 2017-03-23
    • 1970-01-01
    • 2021-05-28
    • 2022-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多