我知道我可以使用以下代码获取网页的来源:
browser.DocumentText;
innetHtml
由 javascript函数填充的页面的某些数据将不可见,browser.Text
但在browser
的输出中是可见的。
如何获取由 javascript 添加到页面的数据的源代码?
我知道我可以使用以下代码获取网页的来源:
browser.DocumentText;
innetHtml
由 javascript函数填充的页面的某些数据将不可见,browser.Text
但在browser
的输出中是可见的。
如何获取由 javascript 添加到页面的数据的源代码?
如果你知道什么类型的标签包含你想要获取的内部 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...
您可以尝试HtmlAgilityPack并遵循此答案。
HtmlWeb webGet = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = webGet.Load(url);