Selenium:如何识别if语句中的元素?

时间:2019-06-19 09:47:54

标签: c# visual-studio selenium if-statement

在Visual Studio中使用Selenium。我正在编写一个测试用例,在此之前,我需要先查看是否存在特定元素,然后才能继续。

当我尝试在if语句中标识这样的元素时:

  if (driver.FindElement(By.XPath("//lina-device-information/div[1]/div[2]/lina-list-wrapper[3]/div/div/lina-insurance-information")))
{
//Do stuff
}
else
{
//End test
}

我得到一个错误:“错误CS0029无法将类型'OpenQA.Selenium.IWebElement'隐式转换为'bool'“

是否可以在if语句中将FindElement用作条件,或者我做错了什么?

2 个答案:

答案 0 :(得分:3)

如果DOM中不存在该元素,则在使用if rotated: image = image.rotate(270) 时它将抛出NoSuchElementException
尝试使用findElement返回列表。然后检查列表是否为空。这样,您不必处理异常。

尝试一下:

findElements

答案 1 :(得分:1)

“如果”期望使用布尔表达式,而不是布尔,则“ FindElement”返回一个webElement。因此,您将抛出编译时错误。