我有一个StaleElementReferenceException。
我找到了How to avoid "StaleElementReferenceException" in Selenium?。我试图理解并使其适合我的代码。
By ordersBy = (By.id("subtab-AdminParentOrders"));
WebElement orders = driver.findElement(ordersBy);
orders.click();
public boolean retryingFindClick () {
boolean result = false;
int attempts = 0;
while (attempts < 2) {
try {
driver.findElement(By.id("subtab-AdminParentOrders")).click();
result = true;
break;
} catch (StaleElementReferenceException e) {
}
attempts++;
}
return result;
}
第一次编译错误。我应该粘贴什么作为参数?为什么要使用分号?
我主要写了这个方法。也许这就是为什么退货被拒绝的原因。我怎样才能使这种方法适应我的代码(在主体中)?
最佳答案
从我的角度来看,您已经在另一个方法中创建了一个方法,但它并非如此。也将retryingFindClick()
放入类主体中,只需将try
代码替换为以下内容,它应该可以工作:
try{
WebElement elem = driver.findElement(By.id("subtab-AdminParentOrders"));
elem.click();
result = true;
break;
}
...