文本包含两个不同的字符串?网络驱动程序 C#



我试图断言两个或多个字符串是否明显。我的代码目前只寻找"好"。有没有办法寻找"好"或"坏"?

    public class Test
{
    public static bool FindText()
    {
        var conf = Driver.Instance.FindElement(By.Id("foo"));
        if (conf.Text.Contains("Good"))
        {
            return true;
        }
        throw new Exception("Text not found");
    }
}

我会使用 System.Linq 并检查数组的所有元素,如果可能有两个以上的有效字符串。

public class Test
{
  public static bool FindText()
  {
    var stringsToFind = new [] { "Good", "Bad" };
    var conf = Driver.Instance.FindElement(By.Id("foo"));
    if (stringsToFind.Any(s => conf.Text.Contains(s))
    {
        return true;
    }
    throw new Exception("Text not found");
  }
}

对于只有两个要检查的元素,我可能会用第二个条件和一个or来扩展 if 条件。

尝试查找字符串时,请始终将字符串变量设置为大写或小写。由于它区分大小写,当文本为"GoOd"时,您将找不到查找"好"的匹配项

if(conf.Text.ToUpper().Contains("GOOD")){
//do something
}
else if(conf.Text.ToUpper().Contains("BAD")){
//do something else
}

你也可以只输入一个"if"语句,如果你只对通过使用

if(conf.Text.ToUpper().Contains("GOOD") || conf.Text.ToUpper().Contains("BAD")){
//do something for both cases
}

|| 是 OR 操作的运算符

 if (conf.Text.Contains("Good") || conf.Text.Contains("Bad"))

PD :停止你正在做的任何事情,看看语言文档,你需要了解你在做什么。

相关内容

  • 没有找到相关文章

最新更新