1

我知道我可以使用以下代码获取网页的来源:

browser.DocumentText;

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

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

4

2 回答 2

2

如果你知道什么类型的标签包含你想要获取的内部 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...
于 2013-06-13T18:51:18.700 回答
1

您可以尝试HtmlAgilityPack并遵循答案。

HtmlWeb webGet = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = webGet.Load(url);
于 2013-06-13T18:40:12.490 回答