myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
   » Plugin für Firefox
   » Plugin für IE
   » Gadget für Windows
» Regeln
» Wie poste ich richtig?
» Datenschutzerklärung
» wbb-FAQ

Mitglieder
» Liste / Suche
» Stadt / Anleitung dazu
» Wer ist wo online?

Angebote
» ASP.NET Webspace
» Bücher
» Zeitschriften
   » dot.net magazin

Ressourcen
» guide to C#
» openbook: Visual C#
» openbook: OO
» MSDN Webcasts
» Search.Net

Team
» Kontakt
» Übersicht
» Wir über uns
» Impressum

» Unsere MiniCity
MiniCity
» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Web-Technologien » [gelöst] WebBot variable ID auslesen
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

[gelöst] WebBot variable ID auslesen

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
pentester
myCSharp.de-Mitglied

Dabei seit: 08.06.2017
Beiträge: 3
Entwicklungsumgebung: C#


pentester ist offline

[gelöst] WebBot variable ID auslesen

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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:

C#-Code:
browser.Document.GetElementById("ID-Name").OuterText

Nun zum Problem. Der Html Code sieht wie folgt aus:

XML-Code:
<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

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von pentester am 08.06.2017 22:16.

08.06.2017 00:12 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Sebastian1989101 Sebastian1989101 ist männlich
myCSharp.de-Mitglied

images/avatars/avatar-3396.gif


Dabei seit: 05.04.2010
Beiträge: 228
Entwicklungsumgebung: VS2017, VS2015, VS Mac, XCode
Herkunft: Uchte


Sebastian1989101 ist offline Füge Sebastian1989101 Deiner Kontaktliste hinzu AIM Screenname von Sebastian1989101: ABC95867189

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Am einfachsten währe dies wohl mit Regex gelöst.

Könnte z.B. wie folgt aussehen:

Code:
1:
span.+id="FixerTeilDerID_(?<id>[^"]+)"[^>]+>(?<text>[^<]+)<\/span
08.06.2017 09:52 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
herbivore
myCSharp.de-Poweruser/ Experte

images/avatars/avatar-2627.gif


Dabei seit: 11.01.2005
Beiträge: 49.351
Entwicklungsumgebung: csc/nmake (nothing is faster)
Herkunft: Berlin


herbivore ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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
08.06.2017 18:59 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
pentester
myCSharp.de-Mitglied

Dabei seit: 08.06.2017
Beiträge: 3
Entwicklungsumgebung: C#

Themenstarter Thema begonnen von pentester

pentester ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Danke. Ich habs gelöst bekommen.

C#-Code:
            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
08.06.2017 22:15 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 2 Monate.
Der letzte Beitrag ist älter als 2 Monate.
Antwort erstellen


© Copyright 2003-2017 myCSharp.de-Team. Alle Rechte vorbehalten. 21.08.2017 17:51