我有以下代码从给定列表中选择一个选项,它通常可以正常工作,但有时会失败,并在第二个if上出现NoSuchElement异常。我的印象是,如果找不到元素,它将再次回到循环中。我相信解释很简单……有人能启发我吗?
public static void selectFromList(String vList, String vText, IWebDriver driver)
{
for (int sec = 0; ; sec++)
{
System.Threading.Thread.Sleep(2500);
if (sec >= 10) Debug.Fail("timeout : " + vList);
if (driver.FindElement(By.Id(ConfigurationManager.AppSettings[vList])).Displayed) break;
}
new SelectElement(driver.FindElement(By.Id(ConfigurationManager.AppSettings[vList]))).SelectByText(vText);
}
最佳答案
好吧,我是Java专家,所以我不会为您提供代码,而是为您提供算法:
因此,基本上,您应该在for循环中执行一些异常处理,并捕获该异常,而不执行任何操作。在Java中,它是由
try
和catch
块完成的。但是因为我不了解C#,所以您必须找出用这种语言完成的工作关于c# - WebDriver和C#-NoSuchElementexception,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10899360/