Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 29050|Odpowiedź: 2

[WinForm] Użyj CefSharp, aby uzyskać dostęp do stron internetowych w C#

[Skopiuj link]
Opublikowano 02.04.2019 20:31:40 | | | |
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)







Poprzedni:Java otrzymuje typ właściwości obiektu, nazwę właściwości oraz wartość właściwości
Następny:Tutorial pobierania i instalacji offline Visual Studio 2019
Opublikowano 02.04.2019 20:46:35 |
Wesprzyj właściciela, dziękuję za podzielenie się.
Opublikowano 08.04.2019 23:44:58 |
Zwracałem uwagę na CefSharp, ale nie mam lepszego i prostszego przykładu, który mógłbym zrozumieć. Dzięki za podzielenie się
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com