Vba для IE Нажмите кнопку JavaScript без идентификатора - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь написать vba, чтобы заполнить форму в Excel и нажать кнопку "Отправить", используя.Я новичок в VBA и выяснил все, кроме как нажать кнопку отправки.

Мой код:

Dim a
Set a = doc.getElementsByClassName("button")(1)
a.Click

Do While ie.Busy
    Application.Wait DateAdd("s", 1, Now)
Loop

Нет ошибок, но, похоже, ничего не происходит.Обычно при нажатии кнопки «Отправить» на экране появляется сообщение «Детали загружены», URL не изменяется.

Исходный код с сайта:

<a class="button" onclick="document.getElementById('CustomTableInbox').innerHTML='';JS_UpdateTrack();" href="javascript:;">Submit</a>

Любая помощь будетздорово!

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Попробуйте

Ie.document.getElementsByTagName("form")(0).submit

Получает форму по индексу и тегу, а затем использует метод отправки.

0 голосов
/ 26 октября 2018

Попробуйте привести приведенный ниже пример, который может помочь вам решить вашу проблему.

HTML-код:

<html>
<head>
</head>
<body>
<h2>Sample Page</h2>
<a href="http:\\Microsoft.com">Submit</a>
</body>
</html>

Код VBA:

Sub demo()
Dim ie As InternetExplorer
Dim html As HTMLDocument
Dim Link As Object
Dim ElementCol As Object

Application.ScreenUpdating = False

Set ie = New InternetExplorer
ie.Visible = True

ie.navigate "C:\Users\Administrator\Desktop\demo57.html" 'Change the URL  as your requirement...

Do While ie.readyState <> READYSTATE_COMPLETE

DoEvents
Loop

Set html = ie.Document
Set ElementCol = html.getElementsByTagName("a")

For Each Link In ElementCol

If Link.innerHTML = "Submit" Then
Link.Click

End If
Next Link

Set ie = Nothing

Application.ScreenUpdating = True
End Sub

Вывод:

enter image description here

Далее, вы можете попробовать изменить код в соответствии с вашимтребование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...