【问题标题】:How to get hidden InnerHtml of web page that set by javascript?如何获取由javascript设置的网页的隐藏InnerHtml?
【发布时间】:2013-06-10 06:08:21
【问题描述】:

我知道我可以使用此代码获取网页源代码:

browser.DocumentText;

由 javascript innetHtml 函数填充的页面的一些数据在browser.Text 中不可见,但在browser 的输出中可见。

如何获取由 javascript 添加到页面的数据的源代码?

【问题讨论】:

  • browser是什么数据类型?
  • @gunr2171 是Forms.WebBrowser。

标签: c# winforms webbrowser-control innerhtml


【解决方案1】:

如果你知道什么类型的标签包含你想要的内部 HTML,你可以做这样的事情(这个例子循环通过 div 标签,但你可以做 p,或表格单元格,或其他):

HtmlElementCollection collection = browser.Document.GetElementsByTagName("div");

foreach (HtmlElement element in collection) {
    string html = element.InnerHtml;
    string text = element.InnerText;
    // do something with the HTML or text here...
}

或者如果您知道要获取的元素的具体 ID,请使用:

HtmlElement element = browser.Document.GetElementById("someId123");
if(null != element) // do something with it...

【讨论】:

    【解决方案2】:

    您可以尝试HtmlAgilityPack 并关注this 的回答。

    HtmlWeb webGet = new HtmlWeb();
    HtmlAgilityPack.HtmlDocument doc = webGet.Load(url);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-11
      • 2013-04-29
      • 2021-01-01
      • 2022-01-12
      相关资源
      最近更新 更多