如何获得li元素的所有价值

时间:2014-05-30 14:14:19

标签: c# selenium

我正在编写一个使用硒的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
} 

2 个答案:

答案 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
}