Java 正在等待列表中的一个元素
我有一个元素的waitinf代码:Java 正在等待列表中的一个元素,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我有一个元素的waitinf代码: public WebElement waitElement(String selector) { WebElement element = wait.until((WebDriver d) -> d.findElement(By.cssSelector(selector))); return element; } 我有一张桌子。所以我总是等待行的出现。 但是如果桌子是空的,我有个问题。在本例中,网格中有一个“no-dat
public WebElement waitElement(String selector) {
WebElement element = wait.until((WebDriver d) -> d.findElement(By.cssSelector(selector)));
return element;
}
我有一张桌子。所以我总是等待行的出现。
但是如果桌子是空的,我有个问题。在本例中,网格中有一个“no-data_grid”类的元素
所以问题是如何等待这两个元素中的一个 您可以使用
css选择器
或,
等待其中一个
public WebElement waitElement(String firstLocator, String secondLocator) {
WebElement element = wait.until((WebDriver d) -> d.findElement(By.cssSelector(firstLocator + ", " + secondLocator)));
return element;
}
当驱动程序设法找到其中一个元素时,将返回此消息
您还可以使用或预期条件
wait.until(
ExpectedConditions.or(
ExpectedConditions.presenceOfElementLocated(By.cssSelector(firstLocator)),
ExpectedConditions.presenceOfElementLocated(By.cssSelector(secondLocator))
)
);
您可以使用css选择器
或,
等待其中一个
public WebElement waitElement(String firstLocator, String secondLocator) {
WebElement element = wait.until((WebDriver d) -> d.findElement(By.cssSelector(firstLocator + ", " + secondLocator)));
return element;
}
当驱动程序设法找到其中一个元素时,将返回此消息
您还可以使用或预期条件
wait.until(
ExpectedConditions.or(
ExpectedConditions.presenceOfElementLocated(By.cssSelector(firstLocator)),
ExpectedConditions.presenceOfElementLocated(By.cssSelector(secondLocator))
)
);
“无数据网格”不在表中。当表为空时,它不存在于网格中。因此,我在网格中有一个表或“no-data\u grid”类的元素。不是两者都有。我不需要找到它。我需要等待。因为这意味着所有元素都已加载。@BerasMark在您的问题和您写的第一条注释中指出,如果表为空,则有no-data\u网格
元素。现在,您是说,当所有元素都加载时,您就拥有了它。是哪一个?好的。我有一个页面和一个网格。如果网格已加载,则页面已加载。网格可以由“无数据网格”类的表或元素组成。所以我不得不等待其中一个,“无数据网格”不在表中。当表为空时,它不存在于网格中。因此,我在网格中有一个表或“no-data\u grid”类的元素。不是两者都有。我不需要找到它。我需要等待。因为这意味着所有元素都已加载。@BerasMark在您的问题和您写的第一条注释中指出,如果表为空,则有no-data\u网格
元素。现在,您是说,当所有元素都加载时,您就拥有了它。是哪一个?好的。我有一个页面和一个网格。如果网格已加载,则页面已加载。网格可以由“无数据网格”类的表或元素组成。所以我得等他们中的一个。