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
Gibt es eine Alternative zum WebBrowser Steuerelement - mit DOM Zugriff?
can320
myCSharp.de - Member



Dabei seit:
Beiträge: 151

Themenstarter:

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

beantworten | zitieren | melden

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?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von can320 am .
private Nachricht | Beiträge des Benutzers
JimStark
myCSharp.de - Member

Avatar #dOpLzh7hN1az1g0eGRc0.jpg


Dabei seit:
Beiträge: 293

beantworten | zitieren | melden

Sieh dir mal lieber das https://html-agility-pack.net/ an, bevor du mit sowas rumwerkelst. Vorallem wenn es größer werden soll.
private Nachricht | Beiträge des Benutzers
can320
myCSharp.de - Member



Dabei seit:
Beiträge: 151

Themenstarter:

beantworten | zitieren | melden

Danke, aber ich wollte es auf einer Webseite ähnlich youtube verwenden daher muss es auch ein richtiger Browser sein.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16145

beantworten | zitieren | melden

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

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

Avatar #nZo9Gyth4VPDSxGqM4sT.jpg


Dabei seit:
Beiträge: 3782
Herkunft: Frankfurt a.M.

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1898
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

@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.
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #nZo9Gyth4VPDSxGqM4sT.jpg


Dabei seit:
Beiträge: 3782
Herkunft: Frankfurt a.M.

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1898
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

@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.
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 10083

beantworten | zitieren | melden

Da trifft es sich ja, das MS demnächst den WebView2 auf dem CromiumEdge basierend rausgibt
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #nZo9Gyth4VPDSxGqM4sT.jpg


Dabei seit:
Beiträge: 3782
Herkunft: Frankfurt a.M.

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
can320
myCSharp.de - Member



Dabei seit:
Beiträge: 151

Themenstarter:

beantworten | zitieren | melden

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 .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16145

beantworten | zitieren | melden

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.
- performance is a feature -

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



Dabei seit:
Beiträge: 3

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers