首页 > 解决方案 > Selenium C# 表 - 读取每个值并添加它们并作为列表返回

问题描述

我可以读取表值但我无法在 foreach 循环中添加值并将它们返回为List<string>.

请分享您的方法,将很有帮助

IWebElement tableElement = driver.FindElement(By.XPath("//div[@id='table']"));
IList<IWebElement> tableRow = tableElement.FindElements(By.TagName("tr"));
IList<IWebElement> rowTD;

foreach (IWebElement row in tableRow)
{
    rowTD = row.FindElements(By.TagName("td"));
    //add the values in list?? 
}

return list

在此之后如何将 td 文本值添加到List<string>? 我希望这个函数返回列表。

标签: c#seleniumselenium-webdriverxpath

解决方案


我猜您正在尝试将所有表数据元素作为字符串列表返回。如果您想坚持仅获取 td 元素文本的类似方法,那么我会执行以下操作:

IWebElement tableElement = driver.FindElement(By.XPath("//div[@id='table']"));
IList<IWebElement> tableDataElements = tableElement.FindElements(By.TagName("td"));

var reults = new List<string>();

foreach (IWebElement tableDataElement in tableDataElements)
{
    var tableData = tableDataElement.Text;
    reults.add(tableData);
}

return reults;

推荐阅读