Java 如何在带有隐藏类的页面上检测加载程序

Java 如何在带有隐藏类的页面上检测加载程序,java,selenium,selenium-webdriver,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表达式为/[@se-pre-con hidden xs hidden sm']的元素: SyntaxError

我将selenium webdriver 2.53.1与java和firefox 45.0.1一起使用,并尝试在带有隐藏类的页面上检测加载程序,但我收到以下错误消息:

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

这是我要检测的类:

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

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

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

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));

您使用什么代码来实现此输出?如果我们看不到语法,就很难修复语法错误。。。尝试显示一个最小、完整且可验证的示例。错误消息会告诉您问题所在。您的选择器无效。花些时间阅读一些XPath(或者最好是CSS选择器)教程并更新选择器。我尝试了您的示例并发现了新错误…“线程”main org.openqa.selenium.StaleElementReferenceException中的异常:缓存中未找到元素-可能页面在查找后已更改”请帮助解决它