Учитывая следующую 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")))
или это:
var element = ie.Element(e => e.Text != null && e.Text.Contains("World"));
Я возвращаю элемент <html>
. Это согласуется с документацией WatiN для Element.Text
, в которой говорится: «Получает внутренний текст этого элемента (и внутренний текст всех элементов, содержащихся в этом элементе)».
Поскольку весь текст на странице содержится в элементе <html>
, я всегда получу его обратно вместо непосредственного родителя.
Есть ли способ получить только текст непосредственно под элементом (не текст внутри содержащихся в нем элементов)?
Есть ли другой способ сделать это?
Большое спасибо.