Wie kann ich Daten, die dynamisch mit JavaScript im HTML-Dokument generiert werden, mit C # auskratzen?
Mit WebRequest
und HttpWebResponse
in der C # -Bibliothek kann ich den gesamten HTML-Quellcode als String erhalten, aber die Schwierigkeit besteht darin, dass die gewünschten Daten nicht im Quellcode enthalten sind. Die Daten werden dynamisch von JavaScript generiert.
Wenn andererseits die Daten, die ich haben möchte, bereits im Quellcode sind, dann kann ich sie leicht mit regulären Ausdrücken erhalten.
Ich habe HtmlAgilityPack
heruntergeladen, aber ich weiß nicht, ob es sich um den Fall kümmern würde, in dem Elemente dynamisch von JavaScript generiert werden ...
Vielen Dank!
Wenn Sie die WebRequest stellen, bitten Sie den Server, Ihnen die Auslagerungsdatei zu geben, der Inhalt dieser Datei wurde noch nicht von einem Webbrowser geparst / ausgeführt und daher hat das Javascript noch nichts getan.
Sie müssen ein Tool verwenden, um das JavaScript auf der Seite auszuführen, wenn Sie sehen möchten, wie die Seite nach der Analyse durch einen Browser aussieht. Eine Option, die Sie verwenden, ist die Verwendung des integrierten .net-Webbrowser-Steuerelements: Ссылка
Das Webbrowser-Steuerelement kann zu der Seite navigieren und sie laden. Anschließend können Sie ihr DOM abfragen, das durch das JavaScript auf der Seite geändert wurde.
EDIT (Beispiel):
%Vor% %Vor%Tags und Links javascript html c# dom http