2009-04-20 54 views
1

我正在使用VB.net的webcrawler,並使用System.Forms.WebBrowser對象來處理使用JavaScript或表單帖子的網站導航,但我有一個問題。當我向後導航(WebBrowser.GoBack())到一個使用表單發佈加載的頁面時,頁面已經過期,我必須刷新才能重新發送請求。當我調用刷新(WebBrowser.Refresh())時,彈出一個對話框進行確認。有沒有辦法在代碼中解決這個模式對話框?謝謝!在VB.Net中WebBrowser.Refresh問題

+0

我還應該補充一點,我嘗試過使用WebBrowserRefreshOptions(Normal,Complete,IfExpired)而沒有運氣。 – 2009-04-20 17:59:40

回答

2

您可能可以傳入System.Windows.Forms.WebBrowserRefreshOption類型的刷新選項。

有幾個選項,如下所述:
http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowserrefreshoption.aspx

看來,選項是可以編程控制Web瀏覽器中刷新的唯一途徑。

+0

我應該提到,我確實嘗試過,並選擇了IfExpired和Completely選項,以及我認爲與普通相同的無參數刷新。我仍然看到刷新提示 – 2009-04-20 17:57:32

1

我有一個類似的問題,彈出窗口顯示一個JavaScript警告。我設法使用window_error事件來壓制它。

我加入這行來browser_completed事件處理程序:

((WebBrowser)sender).Document.Window.Error += 
    new HtmlElementErrorEventHandler(Window_Error); 

這裏是我的window_error事件處理程序:

void Window_Error(object sender, HtmlElementErrorEventArgs e) 
{ 
    e.Handled = true; 
} 

另一種選擇要考慮與周圍this._browser.ScriptErrorsSuppressed玩弄。我很確定你沒有收到腳本錯誤,但它值得一試。