agoda.com에서 데이터를 크롤링하려고합니다. 모든 리뷰를 언어별로 필터링하고 싶습니다. 선택기를 기반으로 계산할 때 요소를 클릭하거나 기다릴 때 프로그램에서 요소가 시간 초과 후 표시되지 않는 예외를 throw합니다. 요소가 보이지 않음 셀레늄
이
코드는 지금까지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
리뷰 필터의 리뷰 언어 섹션을 참조하고 있습니다. language-1은 영어의 체크 박스 ID입니다. –