Я пытаюсь создать приложение с использованием Selenium. Мои функции заключаются в следующем. После выбора из некоторых раскрывающихся меню на странице появляется анимация с классом «загрузка», во время которой все элементы удаляются, а затем добавляются повторно после завершения загрузки. Мне удалось справиться с этим тем способом, которым я поделился, но я считаю, что есть более эффективный способ сделать это. Не могли бы вы мне помочь?
selectElement: в меню, созданном с помощью ul и li, определены события JavaScript.
optionElement: после выбора в selectElement, параметры внутри select загружаются, и я проверяю, загружены ли они.
optionToSelect: Состоит из элементов li внутри selectElement.
isLoadingExpected: после выбора некоторых параметров на странице появляется анимация загрузки, которую мне не удалось предотвратить.
public static void selectItem(String selectElement, String optionElement, String optionToSelect, int isLoadingExpected) throws Exception {
WebDriverWait waitElement = new WebDriverWait(chromeDriver, Duration.ofSeconds(10));
if (isLoadingExpected == 1) {
waitElement.until(ExpectedConditions.visibilityOfElementLocated(By.className("loading")));
waitElement.until(ExpectedConditions.invisibilityOfElementLocated(By.className("loading")));
}
waitElement.until(ExpectedConditions.elementToBeClickable(By.xpath(selectElement)));
waitElement.until(ExpectedConditions.numberOfElementsToBeMoreThan(By.xpath(optionElement), 1));
WebElement selectWebElement = chromeDriver.findElement(By.xpath(selectElement));
selectWebElement.click();
WebElement optionWebElement = chromeDriver.findElement(By.xpath(optionToSelect));
optionWebElement.click();
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... ge-loading
Selenium Как дождаться загрузки страницы ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение