Θέλω πραγματικά να χρησιμοποιήσω το CefSharp για πρόσβαση σε σελίδες ιστότοπου και, στη συνέχεια, να πάρω τον πηγαίο κώδικα html για ανάλυση, εάν χρησιμοποιείτε το ενσωματωμένο στοιχείο ελέγχου WebBrowser, ενδέχεται να υπάρχουν ορισμένα σφάλματα που δεν είναι συμβατά με το js.
Το CefSharp σάς επιτρέπει να ενσωματώσετε το Chromium σε εφαρμογές .NET. Είναι ένα ελαφρύ περιτύλιγμα .NET γύρω από το Chromium Embedded Framework (CEF) του Marshall A. Greenblatt. Περίπου το 30% των δεσμεύσεων είναι γραμμένες σε C++/CLI και το μεγαλύτερο μέρος του κώδικα εδώ είναι σε C#. Μπορεί να χρησιμοποιηθεί από C# ή VB ή οποιαδήποτε άλλη γλώσσα CLR. Το CefSharp παρέχει υλοποιήσεις ελέγχου προγράμματος περιήγησης ιστού WPF και WinForms. Διεύθυνση GitHub:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Αρχικά, χρησιμοποιώ το VS για να δημιουργήσω ένα νέο έργο winform με το ακόλουθο περιβάλλον:
- . Έκδοση πλαισίου .NET: 4.6.2
- Visual Studio 2013: Και παραπάνω, χρησιμοποιώ το vs2017 εδώ
Η εντολή nuget έχει ως εξής:
Αφού ολοκληρωθεί η εκτέλεση, το πρόγραμμα προσθέτει αυτόματα πακέτα εξάρτησης ως εξής:
<?xml version="1.0" encoding="utf-8"?> <packages> <αναγνωριστικό πακέτου ="cef.redist.x64" version="3.3578.1870" targetFramework="net462" /> <αναγνωριστικό πακέτου="cef.redist.x86" version="3.3578.1870" targetFramework="net462" /> <package id="CefSharp.Common" version="71.0.2" targetFramework="net462" /> <package id="CefSharp.WinForms" version="71.0.2" targetFramework="net462" /> </packages> Μετά την ολοκλήρωση της εγκατάστασης, το έργο μεταγλώττισης θα αναφέρει το ακόλουθο σφάλμα:
Το CefSharp.Common περιέχει μη διαχειριζόμενους πόρους, ορίστε το έργο και την πλατφόρμα λύσης σας σε x86 ή x64. Εναλλακτικά για την υποστήριξη AnyCPU δείτεΗ σύνδεση με υπερσύνδεσμο είναι ορατή. Είδα μια λύση στο Διαδίκτυο που λέει αλλάξτε την ενεργή πλατφόρμα λύσης σε x86 (το CEF δεν μπορεί να προσαρμοστεί σε x86 | x64, πρέπει να επιλέξετε έναν στόχο) και η πλατφόρμα προορισμού πρέπει επίσης να είναι συνεπής με την πλατφόρμα λύσης.
Ξεκινώντας με το CefSharp 51, μπορείτε να χρησιμοποιήσετε το CefSharp με AnyCPU, αλλά δεν λειτουργεί μόνο του γιατί πρέπει να κάνετε κάποιες αλλαγές σε 2 συγκεκριμένα αρχεία. Σύμφωνα με τη μέθοδο των χρηστών του Διαδικτύου, θα πρέπει να λυθεί, δεν προσπάθησα, στην πραγματικότητα, το cef υποστηρίζει ήδη AnyCPU, αλλά πρέπει να ρυθμιστεί, το σχήμα διαμόρφωσης έχει ως εξής:
1: Πρώτα κάντε δεξί κλικ στο έργο, απεγκαταστήστε τη λύση, επεξεργαστείτε το αρχείο .csproj του έργου και προσθέστε <PropertyGroup>το στον πρώτο κόμβο:
2: Αφού ολοκληρωθεί η προσθήκη, φορτώστε ξανά το έργο και προσθέστε την ακόλουθη διαμόρφωση στο app.config:
3: Πριν καλέσετε το Cef.Initialize, διαμορφώστε τη διαδρομή εκκίνησης του προγράμματος περιήγησης με τον ακόλουθο κώδικα:
Αναφορά λύσης:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Ο συμπληρωμένος κώδικας έχει ως εξής:
Εκτέλεση έργων:
Πόροι:https://ourcodeworld.com/article ... informs-application
(Τέλος)
|