Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 29050|Ответ: 2

[WinForm] Используйте CefSharp для доступа к сайтам на C#

[Скопировать ссылку]
Опубликовано 02.04.2019 20:31:40 | | | |
Я на самом деле хочу использовать CefSharp для доступа к страницам сайта, а затем получить исходный код HTML для анализа, если использовать встроенный контроль WebBrowser, могут быть ошибки, несовместимые с js.

CefSharp позволяет встраивать Chromium в .NET-приложения. Это лёгкий .NET-оберточный интерфейс вокруг Chromium Embedded Framework (CEF) Маршалла А. Гринблатта. Около 30% привязок написаны на C++/CLI, и большая часть кода здесь — на C#. Он может использоваться на C#, VB или любом другом языке CLR. CefSharp предоставляет реализации управления веб-браузерами WPF и WinForms.

Адрес на GitHub:Вход по гиперссылке виден.

Во-первых, я использую VS для создания нового проекта winform в следующей среде:

  • . .NET Framework версия: 4.6.2
  • Visual Studio 2013: И выше, я использую здесь vs2017



Команда nuget выглядит следующим образом:

После завершения выполнения программа автоматически добавляет пакеты зависимостей следующим образом:

<?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>

После завершения установки проект компиляции сообщит о следующей ошибке:

CefSharp.Common содержит неуправляемые ресурсы, установите ваш проект и платформу решения на x86 или x64. Альтернативно, для поддержки AnyCPU см.Вход по гиперссылке виден.

Я видел решение в интернете, где нужно изменить активную платформу решения на x86 (CEF не может адаптироваться к x86 | x64, нужно выбрать цель), и целевая платформа должна быть согласована с платформой решения.
Начиная с CefSharp 51, можно использовать CefSharp с любым процессором, но он не работает в одиночку, потому что нужно внести изменения в два конкретных файла.

Согласно методу пользователей сети, это должно быть решено, я не пробовал, на самом деле cef уже поддерживает AnyCPU, но его нужно настроить, схема конфигурации следующая:

1: Сначала кликнуть правой кнопкой мыши по проекту, удалить решение, отредактировать файл .csproj проекта и добавить его в <PropertyGroup>первый узел:



2: После завершения добавления перезагрузите проект и добавьте следующую конфигурацию в app.config:



3: Перед вызовом Cef.Initialize настройте путь запуска браузера следующим кодом:

Ссылка на решение:Вход по гиперссылке виден.

Завершённый код выглядит следующим образом:


Запускайте проекты:


Ресурсы:https://ourcodeworld.com/article ... informs-application

(Конец)







Предыдущий:java получает тип свойства объекта, имя свойства и значение свойства
Следующий:Офлайн-урок по загрузке и установке Visual Studio 2019
Опубликовано 02.04.2019 20:46:35 |
Поддержите владельца, спасибо, что поделились.
Опубликовано 08.04.2019 23:44:58 |
Я следил за CefSharp, но у меня нет более простого и лучшего примера для понимания. Спасибо, что поделились
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com