заказ онлайн с использованием VBA - PullRequest
1 голос
/ 28 апреля 2020

Я пытаюсь заказать веревку онлайн, используя Excel. Я написал этот фрагмент кода:

Set IE = CreateObject("InternetExplorer.application")
      IE.Visible = True
      IE.navigate ("https://www.paracord.eu/ppm-touw-10mm-neon-orange")
      Do
            If IE.ReadyState = 4 Then
                Exit Do
            Else
               DoEvents
           End If
      Loop

      IE.Document.Forms(0).all("Qty").Value = "10"

      IE.Document.Forms(0).submit
      Do
            If IE.ReadyState = 4 Then
                Exit Do
            Else
               DoEvents
           End If
      Loop
End Sub

Он откроет веб-сайт, но я не могу заставить его заполнить "10" в качестве заказа. Кто-нибудь знает, что я здесь не так делаю?

1 Ответ

0 голосов
/ 28 апреля 2020

Я бы попробовал следующее:

1) Использовать правильное ожидание загрузки страницы

Do:DoEvents:Loop While IE.Busy Or IE.ReadyState <> 4

Затем

2) Использовать идентификатор для суммы

либо

ie.document.querySelector("#qty").value = 10

или

ie.document.querySelector("#qty").setAttribute "value",  10

или даже

ie.document.parentwindow.execScript "document.querySelector('#qty').setAttribute('value',  10);"

Вы можете альтернативно отслеживать значение атрибута value, ie.document.querySelector("#qty") и l oop нажимая кнопку +, пока не достигнете целевого значения

Вы можете нажать + с помощью

ie.document.querySelector("#plus").click

3) Затем отправить с помощью:

ie.document.querySelector("#product-addtocart-button").click
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...