如何在隐藏类的页面上检测加载器

时间:2017-09-29 07:42:57

标签: java selenium selenium-webdriver

我正在使用selenium webdriver 2.53.1与java和firefox 45.0.1并尝试在页面上检测带有隐藏类的加载器,但是我收到此错误消息:

  

给定的选择器// [@ class ='se-pre-con hidden-xs hidden-sm']无效或不会产生WebElement。发生以下错误:   InvalidSelectorError:由于以下错误,无法找到具有xpath表达式// [@ class ='se-pre-con hidden-xs hidden-sm']的元素:   SyntaxError:表达式不是合法表达式。

这是我想要检测的类:

<div class="se-pre-con hidden-xs hidden-sm"></div>

1 个答案:

答案 0 :(得分:2)

您的xpath无效。在“//”之后,您需要添加您选择的元素或每个元素的通配符(*)。因此,正确的xpath将是//div[@class='se-pre-con hidden-xs hidden-sm']//*[@class='se-pre-con hidden-xs hidden-sm']

您可以使用WebDriverWait忽略StaleElementReferenceException并等待元素可见:

By elementSelector = By.xpath("//div[@class='se-pre-con hidden-xs hidden-sm']");
WebElement matchingElement = new WebDriverWait(driver, 10)
        .ignoring(StaleElementReferenceException.class)
        .until(ExpectedConditions.visibilityOfElementLocated(elementSelector));