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
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: Windows-Forms » Gibt es eine Alternative zum WebBrowser Steuerelement - mit DOM Zugriff?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Gibt es eine Alternative zum WebBrowser Steuerelement - mit DOM Zugriff?

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

Dabei seit: 03.02.2006
Beiträge: 149


can320 ist offline

Gibt es eine Alternative zum WebBrowser Steuerelement - mit DOM Zugriff?

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

Ich suche eine alternative zum Microsoft WebBrowser Control für eine Windows Forms Anwendung. Auf der Suche habe ich z.B. CefSharp entdeckt, jedoch kann man damit auf die einzelnen Elemente einer Webseite nur der javascript zugreifen. Der Microsoft WebBrowser erleichtert einem das ganze ja, wie man im folgenden sehr einfachen Beispiel sehen kann:

C#-Code:
HtmlElementCollection col = mBrowser.Document.GetElementsByTagName("div")
            for (int i = 0; i < col.Count; i++)
            {
                string text = col[i].GetAttribute("className");
            }

Nun habe ich aber sehr viel Code dieser Art, der Teils auch recht komplex wird. Diesen wollte ich nicht komplett in JavaScript umschreiben. Kennt ihr ein brauchbares Browser Control, welches HTML5 unterstützt und Zugriff auf die einzelnen DOM Elemente bietet ähnlich dem Microsoft WebBrowser?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von can320 am 15.09.2020 17:00.

15.09.2020 16:58 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
JimStark
myCSharp.de-Mitglied

avatar-1005.jpg


Dabei seit: 10.03.2020
Beiträge: 111
Entwicklungsumgebung: Visual Studio 6.0 Enterprise


JimStark ist offline

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

Sieh dir mal lieber das  https://html-agility-pack.net/ an, bevor du mit sowas rumwerkelst. Vorallem wenn es größer werden soll.
15.09.2020 17:06 Beiträge des Benutzers | zu Buddylist hinzufügen
can320
myCSharp.de-Mitglied

Dabei seit: 03.02.2006
Beiträge: 149

Themenstarter Thema begonnen von can320

can320 ist offline

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

Danke, aber ich wollte es auf einer Webseite ähnlich youtube verwenden daher muss es auch ein richtiger Browser sein.
15.09.2020 17:27 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 14.201
Herkunft: Stuttgart/Stockholm


Abt ist offline

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

Da bleibt Dir aber leider nichts anderes als CefSharp.
Ist die einzige Bibliothek, die moderne Webseiten unterstützt.
15.09.2020 18:11 Beiträge des Benutzers | zu Buddylist hinzufügen
BerndFfm BerndFfm ist männlich
myCSharp.de-Team

avatar-3299.jpg


Dabei seit: 20.01.2006
Beiträge: 3.603
Entwicklungsumgebung: Visual Studio 2015
Herkunft: Frankfurt a.M.


BerndFfm ist offline

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

Man kann das Web Browser Control auf die aktuelle Version pimpen :

 https://stackoverflow.com/questions/1792...browser-control

Man kann auch ein auf Chrome basierendes Control benutzen :

 https://www.telerik.com/support/kb/winfo...rms-application

Hab beides schon probiert, hat beides gut funktioniert.

Grüße Bernd
15.09.2020 19:14 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.598
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

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

@BerndFfm
Das Browser Control auf aktuelle IE Version heben ist unsinn.
Der IE als ganzes ist von Microsoft abgekündigt und hat nur eingeschränkten Support für HTML 5.
Der Ansatz mit dem Chrome basieren Control ist hier vorzuziehen.
Gerade in Verbindung zur Nutzung von Youtube, macht es Sinn eine aktuellere Browser Engine zu verwenden.

T-Virus
15.09.2020 19:31 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
BerndFfm BerndFfm ist männlich
myCSharp.de-Team

avatar-3299.jpg


Dabei seit: 20.01.2006
Beiträge: 3.603
Entwicklungsumgebung: Visual Studio 2015
Herkunft: Frankfurt a.M.


BerndFfm ist offline

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

T-Virus : Ich benutze beides um Google Maps anzuzeigen.

Ich werde wohl aber bald ganz auf das Chrome Control umsteigen.

Grüße Bernd
15.09.2020 19:43 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.598
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

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

@BerndFfm
Dafür dürfte es ja auch noch reichen.
Aber gerade bei Youtube, was häufig umgebaut wird und auch teils auf neuste Standards setzt, ist der IE keine Hilfe mehr.
Ich empfehle keinem mehr auf diesen Browser in jedweder Form aufzusetzen, er ist einfach veraltet.
Gerade im Web Bereich entwickelt sich Heute alles um längen schneller als vor 15 Jahren.
Da kann man nicht mehr auf alte Komponenten aufbauen.

T-Virus
15.09.2020 19:48 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
FZelle
myCSharp.de-Poweruser/ Experte

Dabei seit: 23.04.2004
Beiträge: 9.851


FZelle ist offline

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

Da trifft es sich ja, das MS demnächst den  WebView2 auf dem CromiumEdge basierend rausgibt
16.09.2020 00:04 Beiträge des Benutzers | zu Buddylist hinzufügen
BerndFfm BerndFfm ist männlich
myCSharp.de-Team

avatar-3299.jpg


Dabei seit: 20.01.2006
Beiträge: 3.603
Entwicklungsumgebung: Visual Studio 2015
Herkunft: Frankfurt a.M.


BerndFfm ist offline

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

Habs grade mal getestet :

YouTube läuft auf der IE Engine gepimpt auf Version 11, aber ruckeliger als auf der Chromium Engine.

Auch weniger Farben.

Grüße Bernd
16.09.2020 09:55 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
can320
myCSharp.de-Mitglied

Dabei seit: 03.02.2006
Beiträge: 149

Themenstarter Thema begonnen von can320

can320 ist offline

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

1) Mit BrowserEmulation und diversen anderen Registry Werten habe ich auch schon längere Zeit herumgespielt. Die Performance bleibt aber dürftig.
2) CefSharp und die damit einhergehende Probleme habe ich ja bereits im ersten Posting beschrieben

Zitat von FZelle:
Da trifft es sich ja, das MS demnächst den  WebView2 auf dem CromiumEdge basierend rausgibt

Habe WebView2 kurz getestet, aber es scheint auch nur das gleiche wie CefSharp anzubieten. Sprich zugriff auf die Elemente der Webseite nur per JavaScript Code. Zumindest zum jetzigen Stand der Entwicklung. Falls jemand WebView2 testen möchte, so findet derjenige unter den GitHub "MicrosoftEdge/WebViewFeedback" issues Hinweise, wie man die preview zum Laufen bekommt.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von can320 am 18.09.2020 10:55.

18.09.2020 10:51 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 14.201
Herkunft: Stuttgart/Stockholm


Abt ist offline

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

Klar funktioniert WebView2 auch gleich wie CefSharp, weil es die gleiche Engine (V8) verwendet.
Und V8 ist nun mal eine Engine, die rein über JavaScript manipulierbar / abfragbar ist.

Es gibt keine andere derzeit verfügbare Integrationsmöglichkeit für moderne Browser als CefSharp.
18.09.2020 12:33 Beiträge des Benutzers | zu Buddylist hinzufügen
Grober
myCSharp.de-Mitglied

Dabei seit: 19.09.2020
Beiträge: 1


Grober ist offline

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

Nur der Vollständigkeit halber: Es gibt eine kommerzielle Alternative namens DotNetBrowser, welches dieses Feature anbietet. Ist auch Chromium basiert.

Kommt natürlich bei dir aufgrund des Preises nicht in Frage.
19.09.2020 10:50 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 26.09.2020 06:46