Właściwie chcę użyć CefSharp do dostępu do stron internetowych, a następnie pobrać kod źródłowy html do analizy; jeśli użyjesz wbudowanego sterowania w przeglądarce Web, mogą pojawić się błędy niekompatybilne z js.
CefSharp pozwala osadzać Chromium w aplikacjach .NET. Jest to lekki plik .NET otaczający Chromium Embedded Framework (CEF) autorstwa Marshalla A. Greenblatta. Około 30% przypisań jest napisanych w C++/CLI, a większość kodu tutaj w C#. Można go używać w C#, VB lub dowolnym innym języku CLR. CefSharp oferuje implementacje sterowania przeglądarkami WPF i WinForms. Adres GitHub:Logowanie do linku jest widoczne.
Po pierwsze, używam VS do stworzenia nowego projektu winform w następującym środowisku:
- . .NET framework version: 4.6.2
- Visual Studio 2013: I powyżej, używam tutaj vs2017
Polecenie nuget wygląda następująco:
Po zakończeniu wykonania program automatycznie dodaje pakiety zależności w następujący sposób:
<?xml version="1.0" encoding="utf-8"?> <packages> <package id="cef.redist.x64" version="3.3578.1870" targetFramework="net462" /> <package id="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> Po zakończeniu instalacji projekt kompilacji zgłosi następujący błąd:
CefSharp.Common zawiera zasoby niezarządzane, ustaw projekt i platformę rozwiązania na x86 lub x64. Alternatywnie, jeśli chcesz wsparcie dla AnyCPU, zobaczLogowanie do linku jest widoczne. Widziałem w Internecie rozwiązanie, które mówi, żeby zmienić aktywną platformę rozwiązania na x86 (CEF nie może się dostosować do x86 | x64, trzeba wybrać cel), a platforma docelowa musi być również spójna z platformą rozwiązania.
Zaczynając od CefSharp 51, możesz używać CefSharp z AnyCPU, ale nie działa on samodzielnie, bo musisz wprowadzić zmiany w dwóch konkretnych plikach. Według metody sieci powinno to zostać rozwiązane, nie próbowałem, w rzeczywistości cef już obsługuje AnyCPU, ale trzeba go skonfigurować, schemat konfiguracji wygląda następująco:
1: Najpierw kliknij prawym przyciskiem myszy na projekt, odinstaluj rozwiązanie, edytuj plik .csproj projektu i dodaj go do <PropertyGroup>pierwszego węzła:
2: Po zakończeniu dodania ponownie załaduj projekt i dodaj następującą konfigurację w app.config:
3: Przed wywołaniem Cef.Initialize skonfiguruj ścieżkę uruchamiania przeglądarki za pomocą następującego kodu:
Źródło rozwiązania:Logowanie do linku jest widoczne.
Kompletny kod wygląda następująco:
Projekty prowadzone:
Zasoby:https://ourcodeworld.com/article ... informs-application
(Koniec)
|