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

Вид: 18379|Відповідь: 1

[WinForm] Керування браузером, схоже на веббраузер

[Копіювати посилання]
Опубліковано 26.02.2016 15:05:52 | | |

Тепер, використовуючи Webbrowser, помістіть його в окремий потік, і при завантаженні веб-сторінки програма все одно застрягає, не реагуватиме, не реагуватиме, а завантаження процесора зросте до 30%.
Він не зависає, коли веб-сторінка не завантажується.

Крім того, використання InvokeMember("Клік") для імітації натискання на деякі посилання є недійсним, і точка розриву може потрапити до правильного HtmlElement, але імітований клік не реагує.

Не всі кліки є недійсними, просто деякі кнопки чи посилання недійсні.


Чи є спосіб вирішити вищезазначені проблеми?
Якщо ні, то чи існує сторонній контроль, який займає менше процесора, який підтримує призначення значень текстовим полям, імітацію кліків і керування смугами прокрутки?

WebKit .NET
webkit-sharp
CefSharp
awesomium
OpenWebKitSharp
geckofx
Веб-компонент MozNET





Попередній:Що потужніше — ядро браузера Gecko чи WebKit?
Наступний:WebKit.net рішення виняткового WebKitBrowser.dll
 Орендодавець| Опубліковано 26.02.2016 15:29:06 |
Якщо це так, то все просто, але сайт, який використовує проєкт, має надзвичайно погану сумісність з IE (скаржусь: особисто я вважаю, що IE занадто поганий, а підтримка стандартів надто слабка), тому мені довелося шукати інші подібні елементи WebBrowser і знайшов кілька хороших замінних елементів:

GeokoFx: Пакет Windows Forms для рушія Firefox Geoko, завантажити на Google Адреса: http://code.google.com/p/geckofx/ Офіційний сайт: http://www.geckofx.org/
WebKit.NET:webkit的.NET封装,下载地址:http://sourceforge.net/projects/webkitdotnet/

Спочатку я вирішив скористатися GeokoFx, бо сайт, який використовує проєкт, дуже швидко відкривається через Firefox, але я шукав кілька днів і не знайшов, як передати js-об'єкт у контроль. Коли виявив, що webbrosver-control Qt також є інкапсульованим WebKit, я вирішив використати WebKit, але WebKit.NET не надавав прямого способу передачі об'єкта, і тоді я знайшов ще одну хорошу річ:

open-webkit-sharp:对webkit.net的又一次封装,提供了很多新功能。google上下载地址:http://code.google.com/p/open-webkit-sharp/
Далі дуже просто: завантажте open-webkit-sharp, скопіюйте всі файли з папок Core і References у папку проєкту, потім відкрийте проєкт і додайте посилання OpenWebKitSharp.dll та WebKit.Interop.dll (якщо ваш проєкт працює на посиланнях .NET Framework 2.0 або 3.5 Binary_ Ці два файли у папці NET2, у випадку NET4.0, стосуються цих двох dll у папці Binary); Далі є Toolbox — > Selections — > Selection OpenWebKitSharp.dll і перетягніть WebKitBrowser з Toolbox у вашу форму. Це вже великий крок, але щоб уникнути різних помилок при використанні, спочатку потрібно встановити два підтримуючі файли:
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com