Seleneium WebDriver - 获得不同的异常
本文关键字:异常 WebDriver Seleneium | 更新日期: 2023-09-27 18:37:05
我正在使用网格模式运行硒测试。每当我无法在页面中找到元素时,我都会收到以下异常
"对远程 WebDriver 服务器的 URL 的 HTTP 请求 http://localhost:4444/wd/hub/session/5fe58b67-491c-4b72-9a3a-a6dc790cc29d/element 60 秒后超时。
我期待一个例外,就像没有找到这样的元素一样。但是我超时了。任何关于此的指示都会很有帮助
代码如下
try
{
switch (findBy.ToLower())
{
case "classname":
webElement = driver.FindElement(By.ClassName(findByValue));
break;
case "cssselector":
webElement = driver.FindElement(By.CssSelector(findByValue));
break;
case "id":
webElement = driver.FindElement(By.Id(findByValue));
break;
case "linktext":
webElement = driver.FindElement(By.LinkText(findByValue));
break;
case "name":
webElement = driver.FindElement(By.Name(findByValue));
break;
case "partiallinktext":
webElement = driver.FindElement(By.PartialLinkText(findByValue));
break;
case "tagname":
webElement = driver.FindElement(By.TagName(findByValue));
break;
case "xpath":
webElement = driver.FindElement(By.XPath(findByValue));
break;
}
}
catch (Exception e)
{
return null;
}
非常感谢
Pankaj Katiyar 是正确的,因为您正在使用显式等待。 Selenium也带有隐式等待,它表示等待无论以秒为单位多长时间,如果元素仍然没有出现,请继续前进。
您也可以尝试使用等到预期条件,并将它们添加到所有开关案例语句中。