将网站的HTML添加到文本框中

时间:2018-02-07 01:52:16

标签: c# gecko geckofx

我正在尝试这个,但一直得到gecko不包含innerHTML定义的错误..

GeckoElement g2element = null;
g2element = (GeckoElement)mainbrowsersrc.Document.GetElementByTagName("html");
rich1.Text = g2element.InnerHtml; // 48.066

  rich1.Text = mainbrowsersrc.Document.GetElementsByTagName("html").innerHtml;

1 个答案:

答案 0 :(得分:0)

如果您需要整个页面的HTML,那么您应该使用

(mainbrowsersrc.Document.DocumentElement as Gecko.DOM.GeckoHtmlHtmlElement)?.InnerHtml;

请注意,您收到的错误是因为没有方法.GetElementByTagName(name); - 该方法称为GetElementsByTagName(name) - 复数形式。

这是因为tg名称不唯一,方法返回具有相同标记名称的元素的集合 - 例如li的集合(列表项)元素。

因此,如果您想通过标记名称获取特定元素,您应该执行以下操作:

string html = mainbrowsersrc.Document.GetElementsByTagName("html").FirstOrDefault().innerHtml;
//or 
html = mainbrowsersrc.Document.GetElementsByTagName("html")[0].innerHtml;