Laden...

WPF WebBrowser Control: Ergebnis von Javascript-Aufruf auslesen

Erstellt von Natrium vor 10 Jahren Letzter Beitrag vor 10 Jahren 2.962 Views
N
Natrium Themenstarter:in
7 Beiträge seit 2014
vor 10 Jahren
WPF WebBrowser Control: Ergebnis von Javascript-Aufruf auslesen

Hallo,

ich habe ein Problem, welches ich seit zwei Tagen nicht lösen kann.
Ich will in meinem WPF Programm den ergebnis Text von meinem javascript als string speichern.

Die Webseite auf der ich das script ausführe lautet: http://www.impericon.com/at/radio/
und das javascript welches ich in die adresszeile eingebe lautet:
javascript: var one=document.getElementsByClassName('cctrack')[0].innerHTML; document.write(one);

Nun werden alle Informationen die ich benötige im Browser angezeigt.
Mein Problem ist, dass ich 1.) nicht weiß wie ich mit dem WPF Webbrowser ein javascript ausführe und 2.) wie ich den angezeigten Text kopieren kann (nicht den HTML Text sondern das Ergebnis des scripts).

Ich hoffe jemand kann mir bei meinem Problem helfen.

MfG
Natrium

211 Beiträge seit 2008
vor 10 Jahren

Schau dir mal das Projekt Selenium an:
Selenium WebDriver 2.41.0

Kleiner Einstieg ist hie gezeigt:

Stackoverflow

Kontakt & Blog: www.giesswein-apps.at

N
Natrium Themenstarter:in
7 Beiträge seit 2014
vor 10 Jahren

Vielen Dank werd ich mir gleich mal anschauen 👍

3.170 Beiträge seit 2006
vor 10 Jahren

Hallo,

um mit Scripten zu interagieren, bietet der WebBrowser die ObjectForScripting Property an.

Du kannst dann aus dem Script öffentliche Methoden und Properties dieses Objektes über window.external ansprechen.

Die Forumssuche sollte dazu noch weitere Informationen liefern.

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

N
Natrium Themenstarter:in
7 Beiträge seit 2014
vor 10 Jahren

Vielen Dank für eure Antworten 👍

LatinChriz: Deine Lösung mit dem Selenium WebDriver hat nach einigem herumspielen wunderbar für mich funktioniert, danke 🙂

N
Natrium Themenstarter:in
7 Beiträge seit 2014
vor 10 Jahren

Eine Frage hätte ich noch.
Ist es möglich den Browser im Hintergrund arbeiten zu lassen? Also das der Benutzer nicht sieht was passiert?

MfG
Natrium

16.834 Beiträge seit 2008
vor 10 Jahren

Hört sich nicht seriös an.
Was solls werden?

N
Natrium Themenstarter:in
7 Beiträge seit 2014
vor 10 Jahren

Es soll ein Radio Stream Programm werden bei dem im eingekreisten Bereich der aktuelle titel angezeigt werden soll.
Das funktioniert soweit auch, allerdings will ich nicht, das der Benutzer sieht wie die Seite aufgerufen wird von der die Informationen ausgelesen werden.

16.834 Beiträge seit 2008
vor 10 Jahren

Warum entwickelst Du keine API auf Serverseite? Dann sparst Dir sehr viel (fehleranfällige) Arbeit.

N
Natrium Themenstarter:in
7 Beiträge seit 2014
vor 10 Jahren

Weil das mein (momentanes) Wissen leider übersteigt 😁

N
Natrium Themenstarter:in
7 Beiträge seit 2014
vor 10 Jahren

Vielen Dank für eure Hilfe!

Vor allem für den Tipp mit dem Selenium WebDriver der war toll 😁
Ich hab es jetzt mit dem PhantomJS Driver geschafft.

MfG
Natrium