Webbrowser control C#WebBrowser主体为空

Webbrowser control C#WebBrowser主体为空,webbrowser-control,Webbrowser Control,.Net版本4.5.2 加载返回302的页面时,浏览器控件确实加载重定向的URL,这可能是正确的。在Fiddler中检查调用结果时,服务器将返回整个正确的页面 现在,页面在很长一段时间内从未“完成”,但确实进入了“交互”状态,您应该能够与之交互,不是吗 当我查看WebBrowser的文档时,它不是空的,它没有内容,所以您不能访问Body或任何元素 结果被编码为-gzip。你必须用Fiddler解码才能看到它 如何使返回的HTML在Document属性中可用 using (browser = ne

.Net版本4.5.2

加载返回302的页面时,浏览器控件确实加载重定向的URL,这可能是正确的。在Fiddler中检查调用结果时,服务器将返回整个正确的页面

现在,页面在很长一段时间内从未“完成”,但确实进入了“交互”状态,您应该能够与之交互,不是吗

当我查看WebBrowser的文档时,它不是空的,它没有内容,所以您不能访问Body或任何元素

结果被编码为-gzip。你必须用Fiddler解码才能看到它

如何使返回的HTML在Document属性中可用

using (browser = new WebBrowser()) {

    browser.ClientSize = new Size(800, 600);
    browser.ScrollBarsEnabled = false;
    browser.ScriptErrorsSuppressed = true;                    
    System.Windows.Forms.HtmlDocument doc = null;

    browser.Navigate(_url);
    // Wait for control to load page
    while (browser.ReadyState != WebBrowserReadyState.Complete)
    {
        Application.DoEvents();
        if (browser.ReadyState == WebBrowserReadyState.Interactive && browser.Document != null)
        {
            // give some redering time..
            Thread.CurrentThread.Join(500);
            Application.DoEvents();
            doc = browser.Document;
            break;
        }
    }
    var elements = browser.Document.GetElementsByTagName("INPUT");
    foreach (HtmlElement element in elements)
    {
        if (element.Name.ToLower().Contains("theInputFieldName"))
        {
            element.InnerText = NewFieldContentsVariable;
        }
        //to get the text use :  string value = element.GetAttribute("value");
       //to set the text use :  elemet.InnerText = "something";

    }
    ...