我在一个仪表板上有多个图表。我要等到所有图表加载完毕。我已经在Java中完成了这段代码。我想用python完成。 请帮助
wait.until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver driver) {
Iterator<WebElement> eleIterator = driver.findElements(By.xpath("//img[@class='loading']")).iterator();
while (eleIterator.hasNext())
{
boolean displayed = false;
try
{
displayed = eleIterator.next().isDisplayed();
}
catch (NoSuchElementException | StaleElementReferenceException e)
{
displayed = false;
}
if (displayed)
{
return false;
}
}
}
return true;
}
});
我要使用python或任何建议如何在硒python中加载所有图表之前使用此代码
答案 0 :(得分:0)
您可以使用python中的显式wait,等待所有元素在DOM中可见或存在。
WebDriverWait(driver,30).until(EC.visibility_of_all_elements_located((By.XPATH,"//img[@class='loading']")))
OR
WebDriverWait(driver,30)until(EC.presence_of_all_elements_located((By.XPATH,"//img[@class='loading']")))
要使用显式等待,您必须导入以下内容
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC