我正在使用 Selenium Webdriver 迭代表的行并为每一行创建类 T 的实例,根据行中的数据设置对象的属性:
public override void RefreshElements()
{
base.RefreshElements();
var browseTableRows = Driver.FindElements(By.CssSelector("table.browse>tbody>tr"));
ItemsList = new List<T>(browseTableRows.Count);
ItemsById = new Dictionary<int, T>(browseTableRows.Count);
foreach (var tr in browseTableRows) {
T item = new T() {
ID = int.Parse(tr.FindElement(By.XPath("td[2]")).Text),
Name = tr.FindElement(By.XPath("td[3]")).Text,
Description = tr.FindElement(By.XPath("td[4]")).Text
};
ItemsList.Add(item);
ItemsById.Add(item.ID, item);
}
}
这段代码很慢。关于如何加快此代码的任何建议?
为了清楚起见,T 类没有做任何详细说明:
public class T
{
public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
如果有用,我使用的是 Selenium 的 2.29.1 版本,.NET 4.0,并且我正在运行 Internet Explorer 驱动程序。