Я получаю ошибку времени выполнения «438» (объект не поддерживает это свойство или метод) при попытке щелкнуть по кнопке с помощью VBA на веб-сайте PHP, и я искал поисковые запросы для последние несколько часов и не могу найти способ обойти его.VBA Submit Button Нажав
Этот код ниже делает все, что мне нужно, но не могу найти, как нажать на кнопку без нее не удается, попробовал следующее:
IE.Document.getElementsByName("Calculate").Click
IE.Document.getElementsByID
IE.Document.getElementsByClassName
и т.д. все терпят неудачу.
код для кнопки, как я вижу ниже:
<button onclick="calculate();" class="btn btn-primary">Calculate</button>
Так при использовании ByClassName я использовал BTN BTN первичной и по имени я Calculate. Я теряю голову сейчас, какие-то идеи? Код ниже:
p.s используя IE11 если это имеет значение.
Sub testWeb()
Dim sht As Worksheet
Dim IE As Object
Dim Item As Variant
Dim objElement As Object
Set sht = ActiveSheet
Set IE = CreateObject("InternetExplorer.Application")
'Open IE
IE.Visible = True
IE.Navigate "http://www.doogal.co.uk/DrivingDistances.php"
'Wait until site is loaded
Do While IE.ReadyState <> 4 'READYSTATE_COMPLETE
DoEvents
Loop
IE.Document.getElementById("startLocs").Value = "TEST"
IE.Document.getElementById("endLocs").Value = "TEST1"
IE.Document.getElementsByName("Calculate").Click
IE.Document.forms(1).submit
End Sub
Есть ли конкретная причина, по которой вы используете VBS на веб-сайте? Потому что, если нет, не делайте этого. Перейдите на javascript. VBS подобен злобному маленькому младшему брату JS, которого никто не любит. –
Его пробел в знаниях tbh pal :), мне нужна информация в Excel, поэтому я использую то, что знаю, чтобы вставлять эти данные. – JamieB
Не знаете, как Роб фигурирует, это VBS ... Вы бы подумали, что несколько ссылок на VBA будут отличать это. Возможно, VBA и VBS являются взаимозаменяемыми условиями для парней JS. :) Во всяком случае, я + 1 сделал это, чтобы противостоять -1 на всякий случай, если это было от кого-то, кто не читал. – Tim