在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用作条件,或者我做错了什么?
答案 0 :(得分:3)
如果DOM中不存在该元素,则在使用if rotated:
image = image.rotate(270)
时它将抛出NoSuchElementException
。
尝试使用findElement
返回列表。然后检查列表是否为空。这样,您不必处理异常。
尝试一下:
findElements
答案 1 :(得分:1)
“如果”期望使用布尔表达式,而不是布尔,则“ FindElement”返回一个webElement。因此,您将抛出编译时错误。