我有一个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
}
答案 0 :(得分:0)
实际上,在发布的代码中,您尝试比较从driver.FindElement(By.Id("ctl00_Label_WelcomeMessage")).Text
和own text
检索到的文本。
您从代码中获取的文本返回String
数据类型。因此,您可以使用String操作概念比较String数据类型。使用equals
,equalsIgnoreCase
,contains
等...
试试这个:
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
}