C# WebBrowser空文档文本(模拟单击)

C# WebBrowser空文档文本(模拟单击),c#,multithreading,browser,C#,Multithreading,Browser,场景是,当我单击“开始”按钮时,启动此线程: var t = new Thread(get_webbrowser_page); t.SetApartmentState(ApartmentState.STA); t.Start(); 并启动此功能: public void get_webbrowser_page() { WebBrowser browser = new WebBrowser(); browser.Navigate("http://www.google.com");

场景是,当我单击“开始”按钮时,启动此线程:

var t = new Thread(get_webbrowser_page);
t.SetApartmentState(ApartmentState.STA);
t.Start();
并启动此功能:

public void get_webbrowser_page()
{
    WebBrowser browser = new WebBrowser();
    browser.Navigate("http://www.google.com");
    string htmla = "as";
    browser.DocumentCompleted += (s, e) =>
    {
        var html = browser.DocumentText;
        htmla = html.ToString();
    };
    MessageBox.Show("ASD=" + htmla);
}
我的任务是模拟点击href元素,但我不能这样做,因为DocumentText总是空的

我已经回答了这个问题,但它不适合我。
我错在哪里?

首先,按照Pragmateek的评论,将messagebox放在事件处理程序中。注意,DocumentCompleted事件是按帧/iframe触发的。很高兴知道。查看此问题/答案:

您的MessageBox应该位于DocumentCompleted事件处理程序中。是的,我不知道,但我也尝试了一个非常简单的html页面(没有任何框架/iframe/other),DocumentText始终为空,更改了我的代码,但现在它没有显示任何内容:不能永远等待(通常它会在半秒钟内加载页面)...