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