waitForElementPresent
클릭하기 전에 요소가 표시되는지 확인 하기 위해 비슷한 것을 찾고 있습니다. 에서이 작업을 수행 할 수 있다고 생각 implicitWait
했기 때문에 다음을 사용했습니다.
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
다음 클릭
driver.findElement(By.id(prop.getProperty(vName))).click();
불행히도 때로는 요소를 기다리고 때로는 그렇지 않습니다. 나는 잠시 동안이 해결책을 찾았습니다.
for (int second = 0;; second++) {
Thread.sleep(sleepTime);
if (second >= 10)
fail("timeout : " + vName);
try {
if (driver.findElement(By.id(prop.getProperty(vName)))
.isDisplayed())
break;
} catch (Exception e) {
writeToExcel("data.xls", e.toString(),
parameters.currentTestRow, 46);
}
}
driver.findElement(By.id(prop.getProperty(vName))).click();
그리고 괜찮 았지만 시간이 초과되기 전에 10 번 5, 50 초를 기다려야했습니다. 조금 많이. 그래서 암묵적으로 대기를 1 초로 설정했고 지금까지 모두 괜찮아 보였습니다. 이제 어떤 것들은 시간 초과 전에 10 초를 기다리지 만 다른 것들은 1 초 후에 시간 초과되기 때문입니다.
코드에 존재 / 표시되는 요소를 기다리는 것을 어떻게 처리합니까? 어떤 힌트라도 감상 할 수 있습니다.