2012-03-29 76 views
3
 if (webBrowser1.Url.AbsoluteUri == "www.google.com") 
     { 
      label9.Text = webBrowser1.Url.AbsoluteUri; 
     } 

這是我當前的代碼。當我按下按鈕來運行這個我得到的錯誤。如何獲取WebBrowser控件的URL

未將對象引用設置爲對象的實例。

我不知道它爲什麼這樣做或如何解決它。任何幫助都會很棒。

此外它必須工作在一個計時器,以便它可以檢查。

+0

提供一些細節:例外類型,行號。你在哪裏調用上面的代碼(事件處理程序,構造函數)? – 2012-03-29 11:29:52

回答

0

可能是你webBrowser1.Urlnull 下面嘗試get url

string url = ""; 
    if (webBrowser1.Url != null) 
    { 
     url = webBrowser1.Url.AbsoluteUri; 
    } 
    if (url == "www.google.com") 
    { 
     label9.Text = url; 
    } 
+0

真的是一個糟糕的解決方案的人... – walther 2012-03-29 11:35:48

2

Url屬性仍將null直到該控件呈現這樣使用:

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { 
    if (webBrowser1.Url.ToString() == "www.google.com") { 
      label9.Text = webBrowser1.Url.ToString(); 
    } 
} 

而在你的按鈕Click事件中添加:

webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted); 
+0

我將如何實現這一點到一個計時器? – 2012-03-29 11:33:16

+0

在你的按鈕點擊事件處理程序註冊DocumentCompleted – ionden 2012-03-29 11:35:06

0

那麼你沒有設置任何網址(網頁瀏覽器內沒有加載頁面)。你可以試試這個:

webBrowser1.Url = new Uri(「http://www.google.com」,UriKind.Absolute);

並以這種方式獲取網址:webBrowser1.Url.ToString();

等待頁面加載,然後按下按鈕。

0

我覺得這個ID的評論,我從字面上你

"webBrowser1.Url.AbsoluteUri;" 

,並在我的情況IM使用combotextbox所以雙擊您的瀏覽器表單,它會帶你到甚至接過,我只是把

"combobox1.text= webBrowser1.Url.AbsoluteUri;" 

它現在適用於我。你讓我上的時間,但無論你需要檢查,檢查的combobox1.text或任何你正在使用您的網址的

0

如果您browser1是chromiumwebbrowser,然後用

string url = browser1.Address; 

調用的URL你會得到它。