WebBrowser - 清空DocumentText

car*_*k3r 2 c# browser

我正在尝试使用WebBrowser课程,但当然它不起作用.

我的代码:

WebBrowser browser = new WebBrowser();
browser.Navigate("http://www.google.com");

while(browser.DocumentText == "")
{
    continue;
}
string html = browser.DocumentText;
Run Code Online (Sandbox Code Playgroud)

browser.DocumentText永远"".为什么?

Krz*_*tof 5

您应该使用DocumentCompletedevent,如果您没有WebForms应用程序,则可能还需要ApplicationContext.

static class Program
{
    [STAThread]
    static void Main()
    {
        Context ctx = new Context();
        Application.Run(ctx);

        // ctx.Html; -- your html
    }
}

class Context : ApplicationContext
{
    public string Html { get; set; }

    public Context()
    {
        WebBrowser browser = new WebBrowser();
        browser.AllowNavigation = true;
        browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(browser_DocumentCompleted);
        browser.Navigate("http://www.google.com");
    }

    void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        Html = ((WebBrowser)sender).DocumentText;
        this.ExitThread();
    }
}
Run Code Online (Sandbox Code Playgroud)