我一直在使用@FindBy
一段時間了,我喜歡這個事實,該元素直到它的必要(而不是實例化)才能找到。如何返回一個懶惰實例化的動態webelement
然而,網頁可以在任何地方從某一個元素的2-10,並在元素的ID編號(所以第一個元素「元素1」等字樣的ID)
我會喜歡寫一個函數,我可以傳遞一個整數,並且它會返回一個WebElement和相應的ID,和被延遲實例化。這意味着有類似下面的功能將無法正常工作:
public WebElement getElement(int numOnPage){
return driver.findElement(By.id("element"+numOnPage));
}
因爲我打電話的瞬間功能WebElement被定位。 (之所以不能被實例化,是因爲我有一個函數,通過反覆調用isDisplayed()來等待它的存在,並捕獲它。
我也意識到我可以創建一個List<WebElement>
,它通過CSS選擇每個元素的ID以「element」開頭,但我有其他情況下我想要返回一個動態生成的元素,並且必須使用解決方法那裏也是。
謝謝!
原因是我有一個函數,我反覆調用了isDisplayed()(帶有try/catch),但是如果我傳遞從getElement()返回的元素,並且該元素不存在但是,getElement()會在它遇到等待它存在的函數之前拋出異常。謝謝! –