約250の表区切りを含むWebページをスクラップします。 は、私は属性を持つすべてのtdタグを選択WatiNとWatinCSSSelectorsForeachループが抜け出すには非常に時間がかかります
ファーストを使用して「幅= 90%」:
var allMainTDs = browser.CssSelectAll("td[width=\"90%\"]");
それから私は、リストにVARの内容を貼り、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
私は 'int i = 0;'を持っていて、そこにブレークポイントを置くだけで問題ありません。問題は、foreachループの後で次のコード行に進むためにはAGESが必要であるということです(この場合はint i = 0; ')。 – MHTri
CssSelectAllによって返されたコレクションの列挙子のDisposeメソッドは、時間を浪費する可能性があります。これをプロファイラの下で実行できますか? –