Я создал скрипт в vba, используя IE, чтобы заполнить несколько входов на веб-странице, чтобы заполнить определенный элемент.
Ниже приведены шаги, которые я хотел бы выполнить для моего скрипта:
- Выберите
Buy Bricks
с целевой страницы
- Введите возраст (35) и страну (Великобритания), а затем нажмите кнопку
submit
- На следующей странице введите уникальный идентификационный номер
для части Lego в коробке
Element/design number
, например 4219725
Мой скрипт может удовлетворить первые два требования (кроме нажатия на кнопку отправки). Кнопка отправки остается серой, даже когда поля ввода заполнены должным образом. После нажатия кнопки submit
я хочу выполнить третье требование.
Адрес сайта
Моя попытка:
Sub GetDetails()
Dim IE As New InternetExplorer, I As Long
Dim Html As HTMLDocument, post As Object, ageInput As Object
With IE
.Visible = True
.navigate "https://www.lego.com/en-gb/service/replacementparts"
While .Busy Or .readyState < 4: DoEvents: Wend
Set Html = .document
Html.querySelectorAll(".arrow-list-info")(2).Click
Do: Set ageInput = Html.querySelector("input[id*='How old']"): DoEvents: Loop While ageInput Is Nothing
ageInput.Focus
ageInput.innerText = 30
Do: Set post = Html.querySelector("select[ng-model='country']"): DoEvents: Loop While post Is Nothing
For I = 0 To post.Length - 1
If InStr(post(I).innerText, "United Kingdom") > 0 Then post(I).Selected = True: Exit For
Next I
End With
End Sub
Как активировать кнопку отправки, выделенную серым цветом, чтобы инициировать щелчок по ней?