Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Neue Inhalte nach WebBrowser-Navigate auslesen
axelfxxx
myCSharp.de - Member

Avatar #avatar-2105.gif


Dabei seit:
Beiträge: 144
Herkunft: Berlin, Deutschland

Themenstarter:

Neue Inhalte nach WebBrowser-Navigate auslesen

beantworten | zitieren | melden

Hallo @ all,

ich habe folgendes Problem mit der Frage ob Ihr mir vielleicht helfen könnt:

Ich habe einen //EDIT: WebbrowserCONTROL der per Navigate() Event eine Website aufruft.

In dieser Website gibt's mehrere Links die wieder ein NEUES Dynamisches Fenster aufrufen in dem sich wieder Links befinden ...

UND Diese Links möchte ich gern per Code auslesen.

Wie gesagt sind diese Links dynamisch und es gibt keine eindeutige ID dazu.

Mit Document.GetElementByID[] oder Dokument.AktiveElement hatte ich bisher noch kein Erfolg, da wie gesagt der Bezeichner nicht eindeutig ist

Vielleicht habt Ihr ja ne Idee

//Edit wie man ein angeklickten Link ausliest weis ich, aber nicht wie in einem neuen Fenster !!
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von axelfxxx am .
---- >
Keine Signatur
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15967

beantworten | zitieren | melden

Hi,

Du solltest sagen, mit welchem Control Du arbeitest; vermutlich Windows Forms aufgrund der Navigate()-Methode?! Oder welches der vielen Navigates meinst Du?
Und vermutlich würde es auch helfen zu beschreiben, was Du genau mit dynamischem Fenster meinst.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
axelfxxx
myCSharp.de - Member

Avatar #avatar-2105.gif


Dabei seit:
Beiträge: 144
Herkunft: Berlin, Deutschland

Themenstarter:

beantworten | zitieren | melden

Also wie schon in meinem Beitrag beschrieben handelt es sich um ein WebbrowserControl, da es wo anders ja kein .Navigate("STRING"); gibt ;)

Hier wird dynamisch ein weiteres Fenster geöffnet und dessen Links möchte ich gern auslesen ...

//EDIT: Google: Navigate() Methode c#
ergibt, das es diese Methode ausschließlich beim WebBrowser Control gibt ...
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von axelfxxx am .
---- >
Keine Signatur
private Nachricht | Beiträge des Benutzers
vbprogger
myCSharp.de - Experte

Avatar #avatar-1820.gif


Dabei seit:
Beiträge: 1723
Herkunft: NRW/DE

beantworten | zitieren | melden

Durchlaufe .getElementsByTagName("a") dann hast du alle Links im Dokument.

Grüße
Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.
---------
Bemerkung: ich beantworte keine Fragen via PM, denn das Forum soll ja was davon haben!
private Nachricht | Beiträge des Benutzers
axelfxxx
myCSharp.de - Member

Avatar #avatar-2105.gif


Dabei seit:
Beiträge: 144
Herkunft: Berlin, Deutschland

Themenstarter:

beantworten | zitieren | melden

Sorry aber nicht im neuen offenen Fenster ... und wie schon im Beitrag oben Beschrieben hatte ich das schon probiert, da bekomme ich nur die Links vom Hauptfenster ...
---- >
Keine Signatur
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15967

beantworten | zitieren | melden

Zitat von axelfxxx
Also wie schon in meinem Beitrag beschrieben handelt es sich um ein WebbrowserControl, da es wo anders ja kein .Navigate("STRING"); gibt ;)
Du hast geschrieben, dass Du einen WebBrowser hast; nicht Webbrowser Control. Das sind zwei paar Stiefel. Dahingehend ist auch nicht mehr der Webbereich der richtige Forenbereich, sondern Windows Forms. Das Thema ist daher nun auch verschoben und der Titel angepasst.
(Nach bald 10 Jahren im Forum kann man eine etwas präzisere Ausdrucksweise eigentlich schon erwarten ;-) )

Das kann zur Verwirrung führen, da Javascript selbst ebenfalls die Methode navigate() hat und eben im Browser ausgeführt ist.


Beim Navigate musst Du warten, bis das Dokument komplett geladen ist (DocumentCompleted-Event). Anschließend kannst Du den DOM laden und bekommst auch die korrekten Inhalte.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
axelfxxx
myCSharp.de - Member

Avatar #avatar-2105.gif


Dabei seit:
Beiträge: 144
Herkunft: Berlin, Deutschland

Themenstarter:

beantworten | zitieren | melden

Ok Danke ;)

Hier jedoch gibt's kein DOM Dokument , also ist DOM auch nicht die Richtige Lösung
---- >
Keine Signatur
private Nachricht | Beiträge des Benutzers
vbprogger
myCSharp.de - Experte

Avatar #avatar-1820.gif


Dabei seit:
Beiträge: 1723
Herkunft: NRW/DE

beantworten | zitieren | melden

Zitat
also ist DOM auch nicht die Richtige Lösung

Warum nicht? Es ist eine mögliche Lösung, denn wie Abt schon sagte, kannst du in DocumentCompleted-Eventhandler darüber auf die Dokumentelemente zugreifen, z.B. auf a-Tags.

Übrigens DOM ist kein Dokument, sondern eine Schnittstelle (interface) für Datenzugriffe.

Grüße
Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.
---------
Bemerkung: ich beantworte keine Fragen via PM, denn das Forum soll ja was davon haben!
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15967

beantworten | zitieren | melden

Zitat von axelfxxx
Hier jedoch gibt's kein DOM Dokument , also ist DOM auch nicht die Richtige Lösung
Du hast wirklich in 6 Minuten, in denen unsere beiden Beiträge auseinander liegen, gesucht und verstanden was ein DOM ist, wie man auf diesen Zugriff hat und wie der Event in diesem Zusammenhang funktioniert?
Das glaube ich Dir beim besten Willen nicht.... da frag ich mich schon, wieso ich mir die Mühe mache, zu helfen.

Zugegeben; man findet in 20 Sekunden via Google, wie man auf den DOM zugreifen kann - aber irgendwie fühl ich mich da ziemlich verarscht bei der Sache...
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers