【问题标题】:Get website's html to a textbox获取网站的 html 到文本框
【发布时间】:2018-02-07 01:52:15
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# gecko geckofx


    【解决方案1】:

    如果你需要整个页面的HTML,那么你应该去

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

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

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

    因此,如果你想通过标签名获取特定元素,你应该这样做:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多