Re: [問題] webbrowser 存取多個網址
※ 引述《marcoyan (毎日とてもねたい)》之銘言:
: 各位先進好,小弟剛接觸c#遇到了一些問題想請教各位
: 假設我有一個arrayList為myArray (裡面都是存url)
: 假設myArray裡的url是
: http://www.yahoo.com.tw
: http://www.google.com
: for(i=0;i<myArray.Count;i++)
: {
: string[] test = (string[])myArray[i];
: string url = test[0].Trim();
: webbrowser1.Navigate(url);
: }
: 這樣它跑完yahoo的頁面不會接著跑google的..
: 請問我該怎麼做它才會讀完yahoo後接著讀google的頁面?..
: >"<
我大概說明一下我想做的事
我要讀取多個頁面然後將這些頁面裡面的資訊塞到db裡
然後因為會操作到這些頁面(例如修改一些資料然後submit)所以這邊選擇
用了webbrowser而不是webclient
我的流程大概是這樣(但我不知道是否正確)
form_load之後連上一個網頁,然後抓取這個頁面裡的某些連結(有標準用正規取得)
然後塞到arrayList裡
接著執行一隻副程式
用
for(i=0;i<myArray.Count;i++)
{
取得url
string url = myArray[i]...
webbrowser1.Navigate(url);
}
然後另外在頁面完成事件做我要做的事
void webBrowser1_DocumentCompleted(object sender,
WebBrowserDocumentCompletedEventArgs e)
{
這邊做抓取網頁資料,然後寫入DB
接著修改表單資料然後送出submit
}
但我發現這樣很會漏掉,例如我可能有10個url,但是它前2-3個都沒處理
然後後面的會處理 = =.... why...
documentcomplete不就是讀取完時處理嗎...
還是我的做法有誤之類的,我有試著在documentCompeted裡放eventDo但也是一樣
因為我觀念上是覺得,每個動作跑完才會繼續下一個
但c#它似乎不是這樣.. (我本來是寫php的,沒有winform,所以可能認知有問題)
跪求先進指教.........鞭用力點迷關係...Orz
--
相信,用心就能夠看見。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.2.112
→
09/27 18:41, , 1F
09/27 18:41, 1F
※ 編輯: marcoyan 來自: 114.32.2.112 (09/27 18:42)
→
09/27 18:41, , 2F
09/27 18:41, 2F
→
10/11 12:27, , 3F
10/11 12:27, 3F
討論串 (同標題文章)