Laden...

[gelöst] WebBot variable ID auslesen

Erstellt von pentester vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.534 Views
P
pentester Themenstarter:in
3 Beiträge seit 2017
vor 6 Jahren
[gelöst] WebBot variable ID auslesen

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

241 Beiträge seit 2010
vor 6 Jahren

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

49.485 Beiträge seit 2005
vor 6 Jahren

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

P
pentester Themenstarter:in
3 Beiträge seit 2017
vor 6 Jahren

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