Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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. Альтернативно, для підтримки будь-якого процесора див.Вхід за гіперпосиланням видно.

Я бачив рішення в Інтернеті, де потрібно змінити активну платформу рішення на x86 (CEF не може адаптуватися до x86 | x64, потрібно обрати цільову платформу), і цільова платформа також має відповідати платформі рішення.
Починаючи з CefSharp 51, можна використовувати CefSharp з будь-яким процесором, але це не працює окремо, бо потрібно внести деякі зміни у 2 конкретні файли.

Згідно з методом користувачів мережі, це має бути вирішено, я не пробував, насправді 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