私はWatiNとdiv要素の非常に大きなリストを反復処理しています(約3000)と、私はエラーを取得していますを修正する方法:WatiNのOutOfMemoryException
A first chance exception of type 'System.OutOfMemoryException' occurred in WatiN.Core.dll
System.OutOfMemoryException: Insufficient memory to continue the execution of the program.
at WatiN.Core.UtilityClasses.UtilityClass.TryFuncFailOver[T](DoFunc`1 func, Int32 numberOfRetries, Int32 sleepTime)
at WatiN.Core.Native.InternetExplorer.IEElement.GetWithFailOver[T](DoFunc`1 func)
at WatiN.Core.Native.InternetExplorer.IEElement.GetAttributeValue(String attributeName)
at WatiN.Core.Element.GetAttributeValueImpl(String attributeName)
at WatiN.Core.Component.GetAttributeValue(String attributeName)
at WatiN.Core.Element.get_OuterHtml()
at WatiN.Core.Document.get_Html()
、その後のHTMLを取得DIVをクリックブラウザ。
誰もがメモリの問題を解決する方法を知っていますか?私は別の機能を使用したり、何らかの形でページを分割したりすることができます。あなたがページを待つ際に任意のヘルプ
ため
foreach (Div d in browser.Divs)
{
try
{
d.Click(); // click div
System.Threading.Thread.Sleep(250); //wait for new data to load
string url = "";
if (browser.Html.Contains("http://www.google.com/url?")) // check if an external link exists on the page - this causes the memory exception
{
おかげでクリス
このコードを含む完全な方法を守ってください。だからあなたは何をしようとしているのか理解できます。例えばd.Click()のコードビハインドがあります。コードロジック – MethodMan