Hallo zusammen,
ich bin neu in C# eingestiegen und bräuchte ein wenig Unterstzützung.
Ich möchte einen WebBot programmieren der mir eine bestimmte ID auslesen soll.
Beispielsweise so:
browser.Document.GetElementById("ID-Name").OuterText
Nun zum Problem. Der Html Code sieht wie folgt aus:
<span id="FixerTeilDerID_XXXXX" class="Class">Text den ich herausfinden möchte</span>
Auf jeder Seite sieht die ID anders aus. Wie kann ich "XXXXX" herausfinden bzw. den Text auslesen?
Danke im Vorraus.
LG
Am einfachsten währe dies wohl mit Regex gelöst.
Könnte z.B. wie folgt aussehen:
span.+id="FixerTeilDerID_(?<id>[^"]+)"[^>]+>(?<text>[^<]+)<\/span
WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung
C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog
Hallo pentester,
da du von GetElementById ein HtmlElement zurück bekommst, kannst du darauf einfach HtmlElement.GetAttribute aufrufen. Damit bekommst du "FixerTeilDerID_XXXXX". Das XXXX darin kannst du dann wirklich per Regex auslesen, siehe z.B. [Artikel] Regex-Tutorial.
herbivore
Danke. Ich habs gelöst bekommen.
HtmlElementCollection a = browser.Document.GetElementsByTagName("span");
foreach (HtmlElement b in a)
{
if (b.GetAttribute("id").StartsWith("FixerTeilDerID_"))
{
string item = b.GetAttribute("id");
textBox1.Text = item;
}
}
Ausgabe der Textbox: FixerTeilDerID_XXXXX