Laden...

Neue Inhalte nach WebBrowser-Navigate auslesen

Erstellt von axelfxxx vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.635 Views
axelfxxx Themenstarter:in
139 Beiträge seit 2006
vor 9 Jahren
Neue Inhalte nach WebBrowser-Navigate auslesen

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 !!

---- >
Keine Signatur 😉

16.807 Beiträge seit 2008
vor 9 Jahren

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.

axelfxxx Themenstarter:in
139 Beiträge seit 2006
vor 9 Jahren

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 ...

---- >
Keine Signatur 😉

1.696 Beiträge seit 2006
vor 9 Jahren

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.

**:::

axelfxxx Themenstarter:in
139 Beiträge seit 2006
vor 9 Jahren

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 😉

16.807 Beiträge seit 2008
vor 9 Jahren

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.

axelfxxx Themenstarter:in
139 Beiträge seit 2006
vor 9 Jahren

Ok Danke 😉

Hier jedoch gibt's kein DOM Dokument , also ist DOM auch nicht die Richtige Lösung

---- >
Keine Signatur 😉

1.696 Beiträge seit 2006
vor 9 Jahren

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.

**:::

16.807 Beiträge seit 2008
vor 9 Jahren

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...