当我尝试查找元素时,为什么会抛出NullReferenceException?

时间:2017-02-18 07:05:34

标签: c# dom webbrowser-control nullreferenceexception

我目前正处理搜索栏中的bo,选择一个元素,并获取其href链接。我使用以下代码,然后抛出了NullReferenceExceptions。有谁知道为什么?

    webBrowser1.Navigate("https://us.octobersveryown.com/search?q=shirt");
    Thread.Sleep(1000);
    String test = webBrowser1.Document.GetElementsByTagName("body")[0].GetAttribute("class");

谢谢, 尼古拉斯

1 个答案:

答案 0 :(得分:0)

您应该将它放在DocumentCompleted事件下,并在触发时访问句柄中的文档:

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        string test = webBrowser1.Document.GetElementsByTagName("body")[0].GetAttribute("class");
    }

即使您调用Navigate方法,您的导航仍未加载。这就是它返回null的原因。