我无法导航到我的selenium webdriver脚本中if - else循环的else部分

时间:2013-02-21 10:55:51

标签: c# selenium-webdriver if-statement

我有一个selenium Webdriver脚本,它有if else循环。当我执行脚本时,代码总是在第一个if条件处停止,并且根本不移动到else部分。然后我得到一个异常,因为if条件是假的。 有没有办法解决selenium web驱动程序中的循环部分?我正在使用C#进行编码。 在此先感谢。

以下是我在脚本中使用的循环结构:

    if (driver.FindElement(By.Id("ctl00_ContentMain_Label_Error")).Text.Contains("The username is already registered with Current Brand"))
{
    //take a screen shot
}

else if (driver.FindElement(By.Id("ctl00_Label_WelcomeMessage")).Text == "You are not currently signed in")
{
    //take a screen shot
}
else if (driver.FindElement(By.Id("ctl00_ContentLeftNav_UserNavBar_MenuItemLogOut")).Text == "Log Out")
{

//take a screenshot
}

1 个答案:

答案 0 :(得分:0)

实际上,在发布的代码中,您尝试比较从driver.FindElement(By.Id("ctl00_Label_WelcomeMessage")).Textown text检索到的文本。

您从代码中获取的文本返回String数据类型。因此,您可以使用String操作概念比较String数据类型。使用equalsequalsIgnoreCasecontains等...

试试这个:

 else if (driver.FindElement(By.Id("ctl00_Label_WelcomeMessage")).Text.equals("You are not currently signed in"))
{
//take a screen shot
}

而不是

else if (driver.FindElement(By.Id("ctl00_Label_WelcomeMessage")).Text == "You are not currently signed in")
{
//take a screen shot
}