Selenium webdriver If/Else在我期望的selenium中不起作用

Selenium webdriver If/Else在我期望的selenium中不起作用,selenium-webdriver,Selenium Webdriver,使用if-else语句时,我的代码无法正常工作,默认情况下,即使“if语句”错误,它也会使用if条件进行检查,并抛出一个错误,如下所示: org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":".//span[contains(text(),'Dashboard')]"} 它不检查else if语句 我的代码 几个断点

使用if-else语句时,我的代码无法正常工作,默认情况下,即使“if语句”错误,它也会使用if条件进行检查,并抛出一个错误,如下所示:

org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":".//span[contains(text(),'Dashboard')]"}
它不检查else if语句

我的代码
几个断点就可以解决这个问题。问题不在于If/Else语句,而在于这一行:

WebElement success=driver.findElement(By.xpath(".//span[contains(text(),'Dashboard')]"));
如果读取for
findElement
,如果找不到要搜索的元素,则会抛出错误。这是您面临的错误,而不是if/else语句。一种可能的解决方案是用try/catch包围findElement,如果抛出错误,则将success的值分配给null

WebElement success=driver.findElement(By.xpath(".//span[contains(text(),'Dashboard')]"));