Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 18379|Odpověď: 1

[WinForm] Ovládání prohlížeče podobné webovým prohlížečům

[Kopírovat odkaz]
Zveřejněno 26.02.2016 15:05:52 | | |

Teď, když používám webový prohlížeč, dej ho do samostatného vlákna, při načítání webové stránky se program stále zasekne, nereaguje, ne nereaguje, a využití CPU vystoupne na 30 %.
Nezasekne se, když se webová stránka nenačte.

Navíc použití InvokeMember("Click") k simulaci kliknutí na některé odkazy je neplatné a bod přerušení může jít na správný HtmlElement, ale simulované kliknutí nereaguje.

Ne všechna kliknutí jsou neplatná, jen některá tlačítka nebo odkazy jsou neplatná.


Existuje nějaký způsob, jak vyřešit výše uvedené problémy?
Pokud ne, existuje nějaké ovládání od třetí strany, které zabírá méně CPU, a podporuje přiřazování hodnot textovým polím, simulaci kliknutí a ovládání posuvníků?

WebKit .NET
Webkit-sharp
CefSharp
Awesomium
OpenWebKitSharp
geckofx
MozNET Web Component





Předchozí:Co je výkonnější, jádro prohlížeče Gecko nebo WebKit?
Další:WebKit.net řešení výjimky WebKitBrowser.dll
 Pronajímatel| Zveřejněno 26.02.2016 15:29:06 |
Pokud je to tak, je to jednoduché, ale webová stránka používaná projektem má extrémně špatnou kompatibilitu s IE (stěžuji si: osobně si myslím, že IE je špatný a podpora standardů je příliš špatná), takže jsem neměl jinou možnost než hledat jiné podobné ovládání WebBrowser a našel jsem několik dobrých náhradních ovládání:

GeokoFx: Firefox Geoko Engine Windows Forms Package, ke stažení na Google Adresa: http://code.google.com/p/geckofx/ Oficiální webové stránky: http://www.geckofx.org/
WebKit.NET:webkit的.NET封装,下载地址:http://sourceforge.net/projects/webkitdotnet/

Původně jsem se rozhodl použít GeokoFx, protože webová stránka používaná projektem se ve Firefoxu otevírá velmi rychle, ale hledal jsem několik dní a nenašel jsem, jak předat objekt js do kontroly. Když jsem zjistil, že Qt-ův webbroswer control je také zapouzdřený WebKit ovladač, rozhodl jsem se použít WebKit, ale WebKit.NET přímo neposkytoval způsob, jak objekt předat, a pak jsem našel další dobrou věc:

open-webkit-sharp:对webkit.net的又一次封装,提供了很多新功能。google上下载地址:http://code.google.com/p/open-webkit-sharp/
Následující je velmi jednoduché: stáhni open-webkit-sharp, zkopíruj všechny soubory ze složky Core a Reference do adresáře projektu, pak otevři projekt a přidej reference OpenWebKitSharp.dll a WebKit.Interop.dll (pokud tvůj projekt běží na .NET Framework 2.0 nebo 3.5 reference Binary_ Tyto dva soubory ve složce NET2, v případě NET4.0, odkazují na tyto dva dll ve složce Binary); Pak je tu Toolbox - > Selections - > Selection OpenWebKitSharp.dll a přetáhnout WebKitBrowser z Toolboxu do formuláře. Je to teď velký krok, ale abychom se vyhnuli všem chybám při používání, musíme nejdříve nainstalovat dva podpůrné soubory:
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com