ждать загрузки нескольких графиков - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть несколько графиков в одной панели. Я хочу дождаться загрузки всех графиков. Я сделал этот код в Java. Я хочу сделать с питоном. Пожалуйста, помогите

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 или любое предложение о том, как дождаться загрузки всех диаграмм в selenium python

1 Ответ

0 голосов
/ 30 апреля 2019

Вы можете подождать, пока все элементы будут видны или присутствовать в DOM, используя явное ожидание в python.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...