2013-01-07 22 views
0

我正在嘗試使用Watin來自動化soundclouds API,因爲我需要將一系列用戶標識轉換爲用戶名。Watin HTML源不更新

我得到的json結果在IE中顯示的很好,瀏覽器正按照計劃循環。

我可以得到html.tostring()並將它寫入第一個用戶的100%文件。但是,當循環繼續時,html.tostring()似乎不會更新,只是複製第一個用戶數據。 (請記住,實際的瀏覽器通過用戶循環罰款)

IE ie = new IE(); 


while (counter <= counterMax) 
{ 

    ie.GoTo("http://api.soundcloud.com/users/" + counter + ".json?client_id=YOUR_CLIENT_ID"); 

    Console.WriteLine(ie.Html.ToString());    
    System.IO.StreamWriter file = new System.IO.StreamWriter("c:\\path\\" + counter + ".txt");   
    file.WriteLine(ie.Html.ToString()); 
    file.Close(); 

    counter++; 


} 


ie.Close(); 

我無法弄清楚,如果我關閉並重新打開與代碼瀏覽器中它作爲規劃的循環的每次迭代,但這需要我需要使用的數據量太長。

+0

配置文件對象? – CR41G14

+0

似乎很多爲每個用戶創建一個新文件,這是必需的嗎? – CR41G14

+0

我不知道它是如何處理文件對象的,因爲它也在console.writeline()中被複制,無論如何測試都沒有運氣。而新文件不需要使用它,而我試圖解決這個問題。 – loveforfire33

回答

0

試試這個:

System.IO.StreamWriter file = new System.IO.StreamWriter("c:\\path\\" + counter + ".txt", true); 

您需要啓用附加這樣的流可以將文件每次通過循環迭代時間寫。

+0

它實際上爲每個用戶有意爲此刻創建一個新文件,我意識到如何改進文件寫入 - 我發現它更容易在單獨的文件中進行調試。 – loveforfire33

+0

我現在看到了。 Counter ++在文件名中。你有沒有嘗試每次創建一個新的IE實例?這可能是你的問題,因爲字符串是不可變的。 – Botonomous

+0

是的,每次創建一個新的實例都是完美的,但在規模上我需要這樣做會增加運行時間。 – loveforfire33