Может кто-нибудь мне помочь? Я новичок в VB.net и стараюсь писать очень простой код для управления сайтом. Тем не менее, я продолжаю получатьVB.net InternetExplorer HtmlDocument
«Необработанное исключение типа„System.InvalidCastException“произошло в Defer All.exe .... Не удается привести COM-объект типа „System .__ ComObject“для взаимодействия типа" mshtml.HTMLDocument '. Эта операция завершилась неудачно, потому что вызов QueryInterface для COM-компонента для интерфейса с IID' ....). "
Dim IE As InternetExplorer
Dim HTMLDoc As HtmlDocument
Dim oHTML_Element As mshtml.IHTMLElement
IE = new InternetExplorer
IE.Navigate("http://www.mediafire.com/")
Do Until IE.ReadyState = 4
Loop
Loop Until Not IE.Busy
' ERROR on the following line
HTMLDoc = IE.Document
' I tried making HTMLDoc as object. It passed the above line, but failed the next line due to no GetElementsByTagName method
For Each oHTML_Element In HTMLDoc.GetElementsByTagName("input")
'....................
Next
Вы должны ждать браузера, чтобы фактически перейти на страницу. До тех пор свойство Document, вероятно, является нулевым или каким-либо другим неопределенным. –
Вы хотите обработать событие DocumentCompleted. –
Спасибо Dan-o. Извините, я редактировал свой пост. Я подождал, пока все будет сделано. Кажется, что IE.Document - это com.object и не может быть отправлен в HTMLDocument. Я понятия не имею, почему это не работает. Он работает в VBA. – user3081546