GeckoFx45单据头、表体为空

我正在用VS2017做一个winforms项目。我使用的是2017年11月17日的Geckofx45版本45.0.33 Nuget包。我已经将项目设置为32位。

初始值设定项编码为:

[STAThread]
static void Main()
{
    ...

    Xpcom.Initialize("Firefox");

    ....
} 

主窗体构造函数中当前的概念验证代码目前看起来像这样:

public MainForm(IConfigurationRoot configuration)
{
    InitializeComponent();

    ...

    WebDisplay = new GeckoWebBrowser()
    {
        Dock = DockStyle.Fill
    };

    WebDisplay.Navigate("https://www.google.com/");
    while (WebDisplay.IsBusy)
        Application.DoEvents();

    GeckoHtmlElement payloadElement = WebDisplay
        .Document
        .GetHtmlElementById("viewport");

    ...
}

让我们在这里休息一下,并观察问题。浏览器控件按照预期呈现在表单中,显示Google主页。如果我右击View Source的控件,我会看到我期望从导航目标获得的html。一切都会在UX层中检查出来。

但是,我需要查看DOM,并且我的查询都返回null。GetHtmlElementById不仅不能返回任何内容,而且进一步研究Document属性(或DomDocument属性,或我遇到过的任何其他DOM访问器)会发现根(Header、Body)上有两个子对象,这两个子对象都是空的:WebDisplay.Document.Body.HasChildNodes = false

关键是,控件清楚地呈现了预期的内容;除了空的Header和Body元素节点之外,API不能显示任何内容。

我在这里做错了什么?谢谢!

转载请注明出处:http://www.intsu.net/article/20230504/1706306.html