C# WatiN测试无法按类找到元素

C# WatiN测试无法按类找到元素,c#,watin,C#,Watin,我在HTML中得到的是: 我尝试使用以下方法确认该跨度的存在: public bool HasSpan(string @class) { return _ie.Span(Find.ByClass(@class)).Exists; } 我曾尝试向该方法传递不同的字符串值:“class1”、“class2”、“class1 class2”和“class2 class1”,但似乎没有任何效果-我的测试无法找到元素,即使它存在 你知道为什么会发生这种情况吗?这很有效: Span sp =

我在HTML中得到的是:


我尝试使用以下方法确认该跨度的存在:

public bool HasSpan(string @class)
{
    return _ie.Span(Find.ByClass(@class)).Exists;
}
我曾尝试向该方法传递不同的字符串值:“class1”、“class2”、“class1 class2”和“class2 class1”,但似乎没有任何效果-我的测试无法找到元素,即使它存在

你知道为什么会发生这种情况吗?

这很有效:

Span sp = _ie.Span(Find.ByClass(p => p.Contains("class1")));
如果您将字符串传递给方法
ByClass
(或任何其他方法),您将在元素的Class属性中搜索该字符串,但是如果您使用其中一个重载方法,例如我在上面代码中使用的方法,您可以在不同的场景中具有更大的灵活性,就像你要的那个

在本例中,我使用的是
.Contains
方法,该方法允许我具有所需的灵活性来执行所需的操作,无论CLASS属性的值是什么,都可以使用string函数包含并在字符串中的某个点搜索文本
class1


p
是CLASS属性的内容(我使用了名称
p
,但是您可以使用您需要的任何东西,并且不必声明它,这只是引用属性值的一种方式,在本例中是一个字符串),并且由于
p
是一个字符串,所以所有可用于字符串的函数都可以随时使用,你可以随心所欲,比如
.StartsWith
.EndsWith
.ToUpper
.ToLower
,等等。

谢谢你花时间指出这一点。我刚刚编辑了回复,添加了一些额外的细节,希望这能帮助任何来寻求帮助的人。