C# WatiN测试无法按类找到元素
我在HTML中得到的是: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 =
我尝试使用以下方法确认该跨度的存在:
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
,等等。谢谢你花时间指出这一点。我刚刚编辑了回复,添加了一些额外的细节,希望这能帮助任何来寻求帮助的人。