2013-03-30 267 views
0

我有一個自動刷新腳本,每秒提交一次(大約每秒1次)。當我測試它時,我注意到它只能運行大約20分鐘,然後它會沒有響應,我唯一能想到解決這個問題的方法是讓腳本每隔幾秒刷新一次頁面。然而,當我嘗試這樣做時,它不會工作,因爲它刷新它仍然會嘗試autoclick,從而給我一個無反應的錯誤:http://gyazo.com/cfc3d673573d725042e3acc7142a53b9自動刷新刷新頁面

我可以想到解決這個問題的唯一方法是添加一個暫停點擊按鈕刷新或等待文檔完成。看起來這樣做會工作得很好,但我永遠無法工作...:\任何幫助?我決定發佈我的腳本的來源是否有幫助:http://pastebin.com/4WMcn5Ln 我會發布更多的,但我只能張貼2個鏈接...

回答

0

這裏是你如何得到它與DocumentCompleted事件工作:

Private Sub navBtnClick(sender As Object, e As EventArgs) 
    Dim wbrowser = New WebBrowser() 
    wbrowser.DocumentCompleted += New WebBrowserDocumentCompletedEventHandler(WebBrowser_DocumentCompleted) 
    wbrowser.Navigate("http://www.somesite.com/login") 
End Sub 

Public Sub WebBrowser_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) 
    Dim webBrowser = TryCast(sender, WebBrowser) 
    webBrowser.DocumentCompleted -= WebBrowser_DocumentCompleted 
    'MessageBox.Show(webBrowser.Url.ToString()) 
    webBrowser.Document.GetElementById("login").SetAttribute("value", txtUsername.Text) 
    webBrowser.Document.GetElementById("passwd").SetAttribute("value", txtPassword.Text) 
    webBrowser.Document.GetElementById("SI").InvokeMember("Click") 
End Sub 

如果要導航的文檔具有嵌入其他網頁的iframe,則DocumentCompleted事件會多次觸發。如果您只想僅收到一次該事件,只需按照上面顯示的那樣取消訂閱DocumentCompleted處理程序。