我正在编写一个使用硒的c#模块。该功能将转到网页,我需要将<li>
内的所有元素都包含在内。我该怎么做?
以下是一个例子:
<ul>
<li>
<a href="/test.php">Test text</a>
</li>
</ul>
需要这样的代码:
var[] query = driver.FindElements(By.Tag("li"));
foreach (var element in query)
{
Console.WriteLine(element.Value);//Print: Test text
}
答案 0 :(得分:4)
IWebElement.Text
会返回<li><a>text</a></li>
标记之间包含的文字
我还建议使用By.CssSelector
,因为它们使用起来更灵活,例如,如果您有两个列表,那么您可以通过添加类来获取项目:By.CssSelector("li.className")
var query = driver.FindElements(By.CssSelector("li"));
foreach (var element in query)
{
Console.WriteLine(element.Text);
}
答案 1 :(得分:1)
如果您尝试在li
元素内打印文本,这应该对您有用:
var query = driver.FindElements(By.Tag("li"));
foreach (var element in query)
{
Console.WriteLine(element.Text);//Print: Test text
}