如何在不使用try-catch的情况下检查元素是否存在
本文关键字:检查 情况下 元素 是否 存在 try-catch | 更新日期: 2023-09-27 18:17:34
我正在使用c#的webdriver,我需要检查元素是否存在而不使用try-catch
您可以使用FindElements
。FindElement
会抛出一个NoSuchElementException
。另一方面,FindElements
返回一个空List。您可以检查列表是否为空,如果为真则返回null。
IList<IWebElements> elements = driver.FindElements(By.Id("abcd"));
Assert.True(elements.Count==0, "Field is editable");
在js中,您可以像这样使用任何查找元素方法:
driver.findElement(By.id('not-there')).then(function(element) {
alert('Found an element that was not expected to be there!');
}, function(error) {
alert('The element was not found, as expected');
});
来源:http://selenium.googlecode.com/git/docs/api/javascript/class_webdriver_WebElement.html
在c#中,你可以这样做:
if(driver.FindElement(By.Id("abc")).size() == 0)
{
return null;
}