#excel #vba #internet-explorer #web-scraping
#excel #vba #internet-explorer #очистка веб-страниц
Вопрос:
Я пытаюсь заполнить форму на странице интрасети, но я не могу понять, как нажать на кнопку далее.
Вот мой код:
Option Explicit
Sub GetLTRTable()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.application")
ie.Visible = True
ie.navigate "myurl"
Do Until ie.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop
Dim organization As Object
Set organization = ie.Document.all.Item("Org")
organization.selectedindex = 0
ie.Document.getelementsbyname("CR1").Item(1).Checked = True
ie.Document.getelementsbyname("CR2").Item(6).Checked = True
ie.Document.getelementsbyname("next").Click
End Sub
Вот мой HTML-код:
<p><input type="submit" value="Cancel" name="Action"> <input type="submit" value="Next" name="Action"> </p>
Я получаю следующую ошибку:
ошибка 438 «Объект не поддерживает это свойство или метод»
или:
ошибка 91 «Переменная ошибки или объектная переменная не установлена»
в строке, ie.Document.getelementsbyname("next").Click
использую ли я getelementsbyid
или all.item
Комментарии:
1. Я считаю, что эти функции чувствительны к заглавным буквам. Вы использовали ie.document. getElementsByName в вашем коде? Кроме того, эта функция возвращает коллекцию элементов, поскольку несколько элементов могут иметь одинаковое имя. Если вы используете
ie.document.GetElementsByName("next").item(0).Click
, это работает?2. Здравствуйте, Алекс, спасибо за ваш быстрый ответ, используя ваш код, я получаю сообщение об ошибке 91 «Ошибка переменной объекта или с переменной блока не установлена» Я нажал ctrl F в исходном коде в поисках «Next», но есть только один элемент, называемый таким образом
3. Я вижу, что
next
должно быть с большой буквы N. Так что попробуйте, если сможете найтиie.document.GetElementsByName("Next").item(0).Click
4. К сожалению, это не работает Вам нужна дополнительная информация?
5. Большое спасибо, Алекс! Да, ну, я считаю, что моя голова немного затуманена после того, сколько времени я потратил на это дело ^^. У меня другая проблема с той же формой заполнения, но, возможно, мне следует задать для нее другой вопрос (я не могу выбрать несколько элементов в выпадающем списке)? В любом случае, еще раз спасибо