次のコードで Web ページのソースを取得できることはわかっています。
browser.DocumentText;
ページの一部のデータは JavaScript 関数によって埋められ、innetHtml
では表示されませんbrowser.Text
が、browser
の出力は表示されます。
javascript によってページに追加されたデータのソース コードを取得するにはどうすればよいですか?
次のコードで Web ページのソースを取得できることはわかっています。
browser.DocumentText;
ページの一部のデータは JavaScript 関数によって埋められ、innetHtml
では表示されません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);