[英]WebBrowser.Refresh problem in VB.Net
我正在VB.net中使用WebCrawler,並使用System.Forms.WebBrowser對象來處理使用javascript或表單發布的網站上的導航,但是我遇到了問題。 當我向后導航(WebBrowser.GoBack())到已加載表單發布的頁面時,該頁面已過期,我必須刷新以重新發送請求。 當我調用刷新(WebBrowser.Refresh())時,將彈出一個對話框進行確認。 有什么辦法可以解決代碼中的模式對話框? 謝謝!
您可能可以傳遞System.Windows.Forms.WebBrowserRefreshOption類型的刷新選項。
這里有幾個選項:
http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowserrefreshoption.aspx
這些選項似乎是您可以編程方式控制Web瀏覽器刷新的唯一方法。
我在彈出窗口中出現了類似的問題,並顯示了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
。 我很確定您沒有遇到腳本錯誤,但是值得一試。
我在這里找到了解決此問題的解決方法/黑客: http : //www.experts-exchange.com/Programming/Languages/.NET/Q_25160302.html
基本上,您可以這樣做:
Browser.Refresh(WebBrowserRefreshOption.Completely);
SendKeys.Send("{Enter}");
SendKeys.Send("{Enter}");
行將Enter鍵發送到活動窗口,這是我們要擺脫的模式對話框。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.