Я пытаюсь выполнить сканирование данных с сайта agoda.com. Я хочу отфильтровать все отзывы по языку, по-английски. Когда я делаю подсчет, основанный на селекторе, я получаю 1, однако, когда я пытаюсь щелкнуть или ждать, пока элемент будет видимым, программа выдает исключение элемента, которое не видимо после таймаута.Элемент не отображается Selenium
Это код, который я пытаюсь до сих пор
String url = "https://www.agoda.com/en-sg/resorts-world-sentosa-hard-rock-hotel/hotel/singapore-sg.html";
driver.get(url);
try {
for (WebElement element: driver.findElements(By.xpath("//*[starts-with(@id, 'language-')]"))) {
if (element.getTagName().equalsIgnoreCase("input")) {
if (element.findElement(By.xpath("..")).getText().equalsIgnoreCase("english")) {
wait.until(ExpectedConditions.visibilityOf(element));
element.click();
break;
}
}
}
}catch(Exception e){
System.out.println(e.getMessage());
}
Где я буду неправильно?
Я не вижу никаких элементов с 'id', который начинается с' 'языка. Уточните, какой элемент вы хотите получить. – Andersson
Я имею в виду раздел «Обзор языка» в фильтре отзывов. Язык-1 - это идентификатор флажка английского языка. –