刮掉一個包含大約250個表格部分的網頁。 使用華廷和WatinCSSSelectorsForeach循環需要很長時間才能打出
首先,我選擇帶有屬性的「width = 90%」的所有TD標籤:
var allMainTDs = browser.CssSelectAll("td[width=\"90%\"]");
然後我做一個foreach循環,堅持變種的內容到一個列表。 int在那裏檢查循環當前在哪個td標籤。
List<Element> eletd = new List<Element>();
int i = 0;
foreach (Element td in allMainTDs)
{
eletd.Add(td);
i++;
Console.WriteLine(i);
}
它相當快地達到了第250個標記。但是,大約需要6分鐘(使用StopWatch對象計時)才能進入下一個語句。這裏發生了什麼?
@MHTn什麼是`下一個語句` – msarchet 2011-02-02 16:27:10
沒關係,此刻我有`int i = 0;`並且只是在那裏放置一個斷點。問題是需要AGES才能在foreach循環之後到達下一行代碼,在這種情況下是`int i = 0;`。 – MHTri 2011-02-02 16:28:33
這很可能是CssSelectAll返回的集合的枚舉器的Dispose方法,它佔用了您的時間。你可以在探查器下運行它嗎? – 2011-02-02 16:32:24