给定以下 HTML 页面:
<html>
<head>
<title>WatiN Test</title>
</head>
<body>
<div>
<p>Hello World!</p>
</div>
</body>
</html>
我希望能够搜索一些文本(比如说"World"
),并获取对其父元素的引用(在本例中为<p>
元素)。
如果我尝试这个:
var element = ie.Element(Find.ByText(t => t.Contains("World")))
or this:
var element = ie.Element(e => e.Text != null && e.Text.Contains("World"));
我回来了<html>
元素。这与 WatiN 文档一致Element.Text
其中指出:“获取此元素的内部文本(以及此元素中包含的所有元素的内部文本)”。
由于页面中的所有文本都包含在<html>
元素,我总是会得到这个而不是直接父元素。
有没有办法只获取元素正下方的文本(而不是元素包含的元素内的文本)?
还有另一种方法可以做到这一点吗?
非常感谢。
您可以使用 Find.BySelector
var element = ie.Element(Find.BySelector("p:contains('World')"));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)