Witam,
dziś po raz pierwszy chciałem "sprubować" użyć GeckoWebBrowser zamiast klasycznego WebBrowsera...
i mamproblemy...
nie umiem odwołać się do elementu , na przykładzie logowania do poczty Interii napisałem taki kod:
Private Sub GeckoWebBrowser1_DocumentCompleted(sender As Object, e As EventArgs) Handles GeckoWebBrowser1.DocumentCompleted
If GeckoWebBrowser1.Url.ToString.Contains("konto.interia.pl/logowanie?referer=") Then
GeckoWebBrowser1.Document.GetElementById("iLogin").SetAttribute("value", "xxx")
End If
End Sub
Wyrzuca mi taki błąd...
System.InvalidCastException occurred
HResult=0x80004002
Message=Nie można rzutować obiektu modelu COM typu 'System.__ComObject' na typ interfejsu 'Skybound.Gecko.nsIDOMNSElement'. Ta operacja nie powiodła się, ponieważ wywołanie metody QueryInterface dla składnika modelu COM w celu uzyskania interfejsu o identyfikatorze IID '{F0AEF489-18C5-4DE6-99D5-58B3758B098C}' nie powiodło się z powodu następującego błędu: Taki interfejs nie jest obsługiwany. (Wyjątek od HRESULT: 0x80004002 (E_NOINTERFACE)).
Source=<Cannot evaluate the exception source>
StackTrace:
at Skybound.Gecko.GeckoElement..ctor(nsIDOMHTMLElement element)
at Skybound.Gecko.GeckoElement.Create(nsIDOMHTMLElement element)
at Skybound.Gecko.GeckoDocument.GetElementById(String id)
at zmianaHaslaINTERIA.Form1.GeckoWebBrowser1_DocumentCompleted(Object sender, EventArgs e) in C:\Users\Kosmita\source\repos\zmianaHaslaINTERIA\zmianaHaslaINTERIA\Form1.vb:line 16
at Skybound.Gecko.GeckoWebBrowser.OnDocumentCompleted(EventArgs e)
at Skybound.Gecko.GeckoWebBrowser.Skybound.Gecko.nsIWebProgressListener.OnStateChange(nsIWebProgress aWebProgress, nsIRequest aRequest, Int32 aStateFlags, Int32 aStatus)
Co jest nie tak? Jak poprawnie tego użyć?
Dziękuję za pomoc ;)