Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 18379|Odpowiedź: 1

[WinForm] Sterowanie przeglądarką przypominające przeglądarkę internetową

[Skopiuj link]
Opublikowano 26.02.2016 15:05:52 | | |

Teraz, korzystając z przeglądarki internetowej, umieść to w osobnym wątku, podczas ładowania strony program nadal się zacina, nie reaguje, a zużycie CPU wzrasta do 30%.
Nie zatrzymuje się, gdy strona nie ładuje się.

Dodatkowo, używanie InvokeMember("Click") do symulowania klikania w niektóre linki jest nieprawidłowe, a punkt przerwania może przejść do właściwego HtmlElement, ale symulowane kliknięcie nie reaguje.

Nie wszystkie kliknięcia są nieprawidłowe, tylko niektóre przyciski lub linki są nieprawidłowe.


Czy istnieje sposób, by rozwiązać powyższe problemy?
Jeśli nie, to czy istnieje niezależna kontrola, która zajmuje mniej CPU, wspierająca przypisywanie wartości do pól tekstowych, symulowanie kliknięć i obsługę pasków przewijania?

WebKit .NET
webkit-sharp
CefSharp
awesomium
OpenWebKitSharp
geckofx
MozNET Web Component





Poprzedni:Co jest potężniejsze, jądro przeglądarki Gecko czy WebKit?
Następny:WebKit.net rozwiązaniem wyjątku WebKitBrowser.dll
 Ziemianin| Opublikowano 26.02.2016 15:29:06 |
Jeśli to wszystko, to proste, ale strona internetowa używana przez projekt ma bardzo słabą kompatybilność z IE (narzekam: osobiście uważam, że IE jest słaby, a wsparcie standardów zbyt słabe), więc nie miałem wyboru i musiałem poszukać innych podobnych kontrolerów w przeglądarce i znalazłem kilka dobrych zamienników:

GeokoFx: Pakiet Windows Forms do silnika Firefox Geoko, pobierz w Google Adres: http://code.google.com/p/geckofx/ Oficjalna strona: http://www.geckofx.org/
WebKit.NET:webkit的.NET封装,下载地址:http://sourceforge.net/projects/webkitdotnet/

Początkowo zdecydowałem się użyć GeokoFx, ponieważ strona internetowa używana przez projekt jest bardzo szybko otwierana w Firefoxie, ale szukałem przez kilka dni i nie dowiedziałem się, jak przekazać obiekt js do sterowania. Kiedy odkryłem, że kontrola webbroswer w Qt jest również zamkniętą kontrolką WebKit, zdecydowałem się użyć WebKit, ale nie dawało WebKit.NET bezpośredniego sposobu na przekazanie obiektu, a potem znalazłem kolejną dobrą rzecz:

open-webkit-sharp:对webkit.net的又一次封装,提供了很多新功能。google上下载地址:http://code.google.com/p/open-webkit-sharp/
Poniżej jest bardzo prosto: pobierz Open-Webkit-Sharp, skopiuj wszystkie pliki z folderu Core i References do katalogu projektu, a następnie otwórz projekt i dodaj OpenWebKitSharp.dll referencyjne oraz WebKit.Interop.dll (jeśli Twój projekt działa na .NET Framework 2.0 lub 3.5 referencjach Binary_ Te dwa pliki w folderze NET2, w przypadku NET4.0, odnoszą się do tych dwóch DLL w folderze binarnym); Jest też Toolbox - > Selections - > Selection OpenWebKitSharp.dll i przeciągnij WebKitBrowser z Toolboxa na formularz. To już duży krok, ale aby uniknąć wszelkiego rodzaju błędów podczas korzystania z niego, musimy najpierw zainstalować dwa pliki wspierające:
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com