如何获取由javascript设置的网页的隐藏InnerHtml?
Posted
技术标签:
【中文标题】如何获取由javascript设置的网页的隐藏InnerHtml?【英文标题】:How to get hidden InnerHtml of web page that set by javascript? 【发布时间】:2013-06-10 06:08:21 【问题描述】:我知道我可以使用此代码获取网页源代码:
browser.DocumentText;
由 javascript innethtml
函数填充的页面的一些数据在browser.Text
中不可见,但在browser
的输出中可见。
如何获取由 javascript 添加到页面的数据的源代码?
【问题讨论】:
browser
是什么数据类型?
@gunr2171 是Forms.WebBrowser
。
【参考方案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);
【讨论】:
以上是关于如何获取由javascript设置的网页的隐藏InnerHtml?的主要内容,如果未能解决你的问题,请参考以下文章
如何获取由 Javascript 使用 Java / Webdriver 生成的网页的整个源 html 代码?