Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 18379|Odpoveď: 1

[WinForm] Ovládanie prehliadača podobné webovým prehliadačom

[Kopírovať odkaz]
Zverejnené 26. 2. 2016 15:05:52 | | |

Teraz používam webový prehliadač, dajte ho do samostatného vlákna, pri načítaní webovej stránky sa program stále zasekne, nereaguje, nie nereaguje a využitie CPU vystrelí na 30 %.
Nezasekne sa, keď sa webová stránka nenačíta.

Okrem toho použitie InvokeMember("Click") na simuláciu kliknutia na niektoré odkazy je neplatné a bod prerušenia môže ísť na správny HtmlElement, ale simulované kliknutie nereaguje.

Nie všetky kliknutia sú neplatné, len niektoré tlačidlá alebo odkazy sú neplatné.


Existuje spôsob, ako vyriešiť vyššie uvedené problémy?
Ak nie, existuje nejaké ovládanie od tretej strany, ktoré zaberá menej CPU, a podporuje priraďovanie hodnôt do textových polí, simuláciu kliknutí a ovládanie posuvníkov?

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





Predchádzajúci:Ktorý je výkonnejší, kernel prehliadača Gecko alebo WebKit?
Budúci:WebKit.net riešením výnimky WebKitBrowser.dll
 Prenajímateľ| Zverejnené 26. 2. 2016 15:29:06 |
Ak je to tak, je to jednoduché, ale webová stránka používaná projektom má extrémne slabú kompatibilitu s IE (sťažujem sa: osobne si myslím, že IE je príliš zlý a podpora štandardov je príliš slabá), takže som nemal inú možnosť, než hľadať iné podobné ovládacie prvky v prehliadači WebBrowser a našiel som niekoľko dobrých náhradných ovládacích prvkov:

GeokoFx: Firefox Geoko Engine Windows Forms balík, stiahnuť na Google Adresa: http://code.google.com/p/geckofx/ Oficiálna stránka: http://www.geckofx.org/
WebKit.NET:webkit的.NET封装,下载地址:http://sourceforge.net/projects/webkitdotnet/

Pôvodne som sa rozhodol použiť GeokoFx, pretože webová stránka používaná projektom sa vo Firefoxe otvára veľmi rýchlo, ale hľadal som niekoľko dní a nezistil som, ako odovzdať JS objekt kontrole. Keď som zistil, že Qt-ov webbroswer control je tiež zapuzdrený WebKit ovládač, rozhodol som sa použiť WebKit, ale WebKit.NET priamo neposkytoval spôsob, ako objekt odovzdať, a potom som našiel ďalšiu dobrú vec:

open-webkit-sharp:对webkit.net的又一次封装,提供了很多新功能。google上下载地址:http://code.google.com/p/open-webkit-sharp/
Nasledujúce je veľmi jednoduché: stiahnite si open-webkit-sharp, skopírujte všetky súbory z priečinka Core a References do adresára vášho projektu, potom otvorte projekt a pridajte referenčné OpenWebKitSharp.dll a WebKit.Interop.dll (ak váš projekt beží na referenciách v .NET Framework 2.0 alebo 3.5 Binary_ Tieto dva súbory v priečinku NET2, v prípade NET4.0, odkazujú na tieto dva dll v priečinku Binary); Potom je tu Toolbox - > Selections - > Selection OpenWebKitSharp.dll a pretiahnuť WebKitBrowser z Toolboxu do formulára. Je to veľký krok, ale aby sme sa vyhli rôznym chybám pri používaní, musíme najskôr nainštalovať dva podporné súbory:
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com