2017-03-15 26 views

回答

1

isDisplayed()方法是立竿見影的,你不能設置它的時間。隱式等待用於告知driver它應該嘗試定位元素的最大時間量,即DOM中的元素存在。這並不意味着(儘管非常可能)元素是可見的。

如果要增加等待元素可見的時間,可以使用顯式等待來等待元素可見。

WebDriverWait wait = new WebDriverWait(driver, 10); 
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("id"))); 
+0

謝謝@Guy的答覆。如果isDisplayed方法是立即的,那麼它不應該等待元素,並且如果元素不可立即可見,則應該失敗。但是我有時會發現,如果一個元素不可見,isDisplayed會在2到5秒之間變化時間以失敗。你有沒有觀察過這個? – Dhruva

+0

@Dhruva'isDisplayed()'不是「失敗」,它返回'true'或'false'。延遲是由於其他原因造成的。 – Guy

相關問題