2012-03-29 88 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你会得到它。

相关问题