Laden...

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

Erstellt von can320 vor 3 Jahren Letzter Beitrag vor 3 Jahren 3.136 Views
C
can320 Themenstarter:in
151 Beiträge seit 2006
vor 3 Jahren
Gibt es eine Alternative zum WebBrowser Steuerelement - mit DOM Zugriff?

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:

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?

309 Beiträge seit 2020
vor 3 Jahren

Sieh dir mal lieber das https://html-agility-pack.net/ an, bevor du mit sowas rumwerkelst. Vorallem wenn es größer werden soll.

C
can320 Themenstarter:in
151 Beiträge seit 2006
vor 3 Jahren

Danke, aber ich wollte es auf einer Webseite ähnlich youtube verwenden daher muss es auch ein richtiger Browser sein.

16.806 Beiträge seit 2008
vor 3 Jahren

Da bleibt Dir aber leider nichts anderes als CefSharp.
Ist die einzige Bibliothek, die moderne Webseiten unterstützt.

3.825 Beiträge seit 2006
vor 3 Jahren

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

https://stackoverflow.com/questions/17922308/use-latest-version-of-internet-explorer-in-the-webbrowser-control

Man kann auch ein auf Chrome basierendes Control benutzen :

https://www.telerik.com/support/kb/winforms/details/how-to-embed-chrome-browser-in-a-winforms-application

Hab beides schon probiert, hat beides gut funktioniert.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

T
2.219 Beiträge seit 2008
vor 3 Jahren

@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

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

3.825 Beiträge seit 2006
vor 3 Jahren

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

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

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

T
2.219 Beiträge seit 2008
vor 3 Jahren

@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

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

F
10.010 Beiträge seit 2004
vor 3 Jahren

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

3.825 Beiträge seit 2006
vor 3 Jahren

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

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

C
can320 Themenstarter:in
151 Beiträge seit 2006
vor 3 Jahren
  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

Da trifft es sich ja, das MS demnächst den
>
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.

16.806 Beiträge seit 2008
vor 3 Jahren

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.

G
2 Beiträge seit 2020
vor 3 Jahren

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.