Пытаясь нажать кнопку «Продолжить» с кодом VBA на веб-странице - PullRequest
0 голосов
/ 24 апреля 2020
Sub login()

    Const Url$ = "https://commercial.metrobankonline.co.uk/portalserver/business-login"

    Dim UserName As String, Password As String, Scode As String, LoginData As Worksheet
    'Set LoginData = ThisWorkb ook.Worksheets("Sheet1")
    UserName = "123456789" 
    Password = "pwd" 

    Dim ie As Object
    Set ie = CreateObject("InternetExplorer.Application")
    Dim Btn As Object

    With ie

        .navigate Url
        ieBusy ie
        .Visible = True

        Dim oLogin As Object, oPassword As Object
        Dim ele As Object
        Set oLogin = .document.getElementsByName("customerNo")(0)


        oLogin.Value = UserName


  End With   
For Each ele In ie.document.getelementsbytagname("a")
    If InStr(ele.innertext, "Continue") > 0 Then ele.Click
Next
ie.Quit
End Sub

Я пытаюсь перейти к следующему этапу процесса входа, нажав кнопку «Продолжить». Приведенные ниже коды переходят на веб-страницу sucessufly и вводят имя пользователя, но не нажимают кнопку.

1 Ответ

1 голос
/ 24 апреля 2020

Код для этой кнопки:

<button type="submit" class="btn btn-primary btn-block" ng-disabled="" ng-click="validate()">
    Continue
</button>

Итак, вы хотите искать button теги, а не якорь a тег:

For Each ele In ie.document.getelementsbytagname("button")

В качестве альтернативы (I ' я сам никогда не пробовал) но поскольку кнопка вызывает javascript function validate(), вы можете сделать одну строку вместо l для 1013 *:

ie.Document.parentWindow.execScript "validate();"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...