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 » Web-Technologien » Webseite speichern mit webview2 ?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Webseite speichern mit webview2 ?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
[email protected] joe@vstw ist männlich
myCSharp.de-Mitglied

Dabei seit: 13.06.2020
Beiträge: 9
Entwicklungsumgebung: Visual Studio 2010, 2015, 2019
Herkunft: Würzburg


joe@vstw ist offline

Webseite speichern mit webview2 ?

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

Hallo Gemeinde,

in einer größeren C# Anwendung lasse ich per Browserframe Daten einer externen Webseite (keiner eigenen) anzeigen. Nach einem Relaunch werden dort Grafiken als Inline-SVG verwendet, die mit dem bisherigen Webview-Modul nicht dargestellt werden.

Daraufhin habe ich
- die neueste Edge-Version installiert, Version 86.0.590.0 (Offizielles Build) canary (64-Bit)
- bin auf Microsoft Visual Studio Community 2019 Version 16.6.5 umgestiegen,
- auf .NET Framework 4.8.03752 upgegradet (verwende aber 4.7.2) und
- über NuGet Webview2 Version 0.579-preview dem Projekt hinzugefügt.

Nach Austausch von Webview gegen Webview2 wird die Seite auch korrekt dargestellt und ist in allen Optionen funktionsfähig (Anwahl einzelner Tabs etc.). Ebenfalls lässt sich die HTML-Source der Seite über das Kontextmenü des Browsers inclusive der Inline-SVGs komplett abspeichern. Dazu ist aber der manuelle Eingriff nötig.

Mit allen bisher üblichen Methoden bekomme ich die Seite programmgesteuert nur ohne die <svg ...> ... </svg> Elemente abgespeichert, also zB mit [etwas vereinfacht]

C#-Code:
Byte[] x;
WebClient client = new WebClient();
x = client.DownloadData(webaddress);
System.IO.File.WriteAllBytes("C:\\temp\\svg.html", x);

Gibt es eine Möglichkeit, über Webview2 die geladene Seite abzuspeichern? Ich habe da nichts gefunden. Tutorials und API von MS sind da sehr mager.

Gruß Josef

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von [email protected] am 28.07.2020 19:34.

28.07.2020 19:21 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.461
Herkunft: Leipzig


MrSparkle ist offline

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

Wahrscheinlich werden die SVGs dynamisch gerendert. Dann sind die nicht im Seitenquelltext zu finden.
28.07.2020 19:57 Beiträge des Benutzers | zu Buddylist hinzufügen
[email protected] joe@vstw ist männlich
myCSharp.de-Mitglied

Dabei seit: 13.06.2020
Beiträge: 9
Entwicklungsumgebung: Visual Studio 2010, 2015, 2019
Herkunft: Würzburg

Themenstarter Thema begonnen von joe@vstw

joe@vstw ist offline

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

Hi MrSparkle,

>dynamisch gerendert...

ja so wie ich das jetzt analysiert habe, sind da irgendwelche scripts mit "preload" drin, so dass sie Vermutung berechtigt ist, dass die svgs erst beim Laden dazukommen. Sowohl die svgs als auch die Skripte fehlen in der direkt geladenen Version des HTML. Die ist z.B. statt über 360 nur 15 kB groß.

Aber gibt es keine Möglichkeit, bei webview2 die geladene Seite als HTML zu speichern, außer manuell über das Kontextmenü? Sowas sie webBrowser2.DocumentText ?

Gruß Josef
28.07.2020 22:32 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.461
Herkunft: Leipzig


MrSparkle ist offline

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

Zitat von [email protected]:
Aber gibt es keine Möglichkeit, bei webview2 die geladene Seite als HTML zu speichern, außer manuell über das Kontextmenü? Sowas sie webBrowser2.DocumentText ?

Dazu gibt es doch die Dokumentation, wenn du dort keine passende Eigenschaft oder Methode findest, wird es die wohl nicht geben.
29.07.2020 18:16 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 2 Monate.
Der letzte Beitrag ist älter als 2 Monate.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 30.09.2020 02:40