C# Wie kriege ich den Text von einem label auf einer Webite?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Binde das HtmlAgilityPack in dein Projekt ein. Mit dem kannst du eine Webseite laden und dir den Response zu einer Baumstruktur parsen lassen.

Dann kannst du via XPath nach dem Element suchen. Ungefähr so:

var xpath = "...";
var result = document.DocumentNode.SelectSingleNode(xpath);

Den XPath kann dir dein Browser liefern: Klicke mit der rechten Maustaste auf das Webseitenelement und wähle (Element) untersuchen im Kontextmenü. Daraufhin sollte sich der Webinspektor deines Browser öffnen und das Element in seiner Struktur selektiert haben (andernfalls musst du es nochmal manuell suchen). Sobald du das richtige Element selektiert hast, kannst du via Rechtsklick im Kontextmenü unter Copy dir den vollen XPath kopieren lassen.

Alternativ zur Suche via XPath kannst du mit Fizzler auch Elemente via CSS-Selektor suchen.

Den Textinhalt des gefundenen Elements bekommst du über das InnerText-Property.

var text = result.InnerText

Dieser Lösungsweg verlangt allerdings, dass das Element schon beim ersten Response der Webseite geliefert wird. Sollte es hingegen via JavaScript nachgeladen werden, solltest du stattdessen ein Hilfsmittel wie Selenium einsetzen.

Das kannst du relativ leicht mit einem CGI-Skript machen, sofern du einen kompatiblen HTTP-Server hast.


KACKBIENCHEN 
Fragesteller
 02.11.2021, 21:58

Hab's schon :) trotzdem danke

0