即使我的代码包含在 try 块中,我仍然收到未处理的异常,“WebDriver.dll 中发生 OpenQA.Selenium.NoSuchElementException 类型的异常,但未在用户代码中处理。
这是代码:
try
{
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeout));
switch (findBy)
{
case SeleniumFindBy.ById:
itemtext = wait.Until(d => d.FindElement(By.Id(elementId)).Text);
break;
case SeleniumFindBy.ByName:
itemtext = wait.Until(d => d.FindElement(By.Name(elementId)).Text);
break;
case SeleniumFindBy.ByLinkText:
itemtext = wait.Until(d => d.FindElement(By.LinkText(elementId)).Text);
break;
case SeleniumFindBy.ByPartialLinkText:
itemtext = wait.Until(d => d.FindElement(By.PartialLinkText(elementId)).Text);
break;
case SeleniumFindBy.ByXPath:
itemtext = wait.Until(d => d.FindElement(By.XPath(elementId)).Text);
break;
case SeleniumFindBy.CssSelector:
itemtext = wait.Until(d => d.FindElement(By.CssSelector(elementId)).Text);
break;
}
}
catch (OpenQA.Selenium.NoSuchElementException ex)
{
LastError = elementId + "," + ex.Message;
}
catch (Exception ex)
{
LastError = elementId + "," + ex.Message;
}