我有一些代碼,其中預期的異常沒有被捕獲。我試圖找到一個大部分時間都會過時的元素。所以我循環60次嘗試獲取元素之前我得到一個元素未發現異常。即使我仍然收到一個陳舊的元素異常,它也不會打印出它捕獲到異常。For循環捕獲Java中的異常
public static WebElement DropDown(WebDriver driver) throws InterruptedException
{
WebElement element = null;
for (int i = 0; i < 60; i++)
{
try
{
element = driver.findElement(By.cssSelector("html body div.navbar.navbar-inverse.main-navbar "));
break;
}
catch (org.openqa.selenium.StaleElementReferenceException e)
{
System.out.println("Caught an Staleelement exception");
}
Thread.sleep(1000);
}
return element;
}
你最有可能趕上一個不同的'Exception'類... – Codebender
org.openqa.selenium.StaleElementReferenceException:{「消息」:「元素不緩存存在」} 是例外即時得到當測試失敗時。 –
在這種情況下,異常被引發到別處.. [檢查你的stacktrace以查明位置](http://stackoverflow.com/q/3988788/2775450)並調試它... – Codebender