[英]How to add IWebElement in Selenium to List<>() on C#?
我正在使用Selenium從表中獲取所有文本。
嘗試使用過濾器值來減少列表,以便於操作。 因此,我使用以下代碼:
IWebElement baseTable = browser.FindElementById("column2");
ReadOnlyCollection<IWebElement> rowsInTable = baseTable.FindElements(By.XPath("id('oTableContainer_D')/table/tbody/tr"));
List<IWebElement> result;
foreach (IWebElement valuesNew in rowsInTable )
{
if (valuesNew.FindElements(By.XPath("td")).ToString() == "")
return;
if (valuesNew.FindElements(By.XPath("td")).Count == 10)
{
result.Add(valuesNew.FindElements(By.XPath("td").ToString()));
}
else
{
continue;
}
}
因為如果我使用:
ReadOnlyCollection<IWebElement> result;
此結果沒有任何方法,例如“ Add
到列表”。
有什么方法可以解決這個問題? 謝謝大家。
更新:
我想獲取result
變量,因為我得到的所有項目都包含<tr>
。
因此,我改為。
.....
result.Add(valuesNew).
.....
您需要使用List
AddRange
方法。
result.AddRange(valuesNew.FindElements(By.XPath("td")));
結果是List<IWebElement>
, FindElements
返回一個集合,因此您必須使用AddRange
方法添加該集合。
在旁注中,如果您處於ReadOnlycollection
,則可以執行此操作。
var readOnlyelements = new ReadOnlyCollection<IWebElement>(result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.