在chromedriver headless模式下调用FindElement时,如何在输出中设置错误



我使用ChromeDriver的无头模式。我通过调用找到一个元素

var name= Driver.FindElement(By.Id("TestLabelName"));
if (name== null)
{ 
}

这里的问题是,如果元素不存在,它只是异常并停止,不进行null检查。有没有一种方法可以返回元素或者只返回null?或者返回控制台窗口数据,而不必将每个FindElement都包裹在try-catch中?

使用FindElement而不是FindElement。

如果找不到匹配的元素而不是异常,findElements将返回一个空列表。

文本复制自:使用SeleniumWebDriver测试元素是否存在?


您还可以编写一个静态方法来查找元素:

public static IWebElement _FindElement(ChromeDriver inCromeDriver, string inNameElementId)
{
try
{
var name = inCromeDriver.FindElement(By.Id(inNameElementId));
return name;
}
catch (System.Exception ex)
{
System.Console.WriteLine(ex);
return null;
}
}

最新更新