如何获取WebBrowser控件的URL

时间:2012-03-29 11:25:21

标签: c# winforms string url webbrowser-control

        if (webBrowser1.Url.AbsoluteUri == "www.google.com")
        {
            label9.Text = webBrowser1.Url.AbsoluteUri;
        }

这是我目前的代码。当我按下按钮运行时,我收到错误。

对象引用未设置为对象的实例。

我不知道为什么会这样做或如何解决它。任何帮助都会很棒。

此外,它必须在计时器中工作才能进行检查。

5 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

可能您的webBrowser1.Urlnull 尝试以下获取网址

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

答案 2 :(得分:0)

您没有设置任何网址(网页浏览器中没有加载任何网页)。你可以试试这个:

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

以这种方式获取网址:webBrowser1.Url.ToString();

等待页面加载,然后按下按钮。

答案 3 :(得分:0)

我认为id对此发表评论,我实际上是你的

"webBrowser1.Url.AbsoluteUri;"

在我的情况下我使用了一个combotextbox,所以双击你的浏览器表格,它会带你到偶数处理程序,我只是把

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

现在它对我有用。你得到我的时间,但无论你需要检查什么,检查combobox1.text或你用于网址的任何东西

答案 4 :(得分:0)

如果您的browser1是chromewebbrowser,请使用

    string url = browser1.Address;

调用网址即可获得。