Как выполнить кнопку (Вход) на этом сайте? [VBA] - PullRequest
0 голосов
/ 29 сентября 2019

Я не знаком с VBA, нашел этот код в Интернете, и он отлично работает на Facebook, например, но когда я пытался использовать на этом веб-сайте мне нужно, он не работает, он открывает Internet Explorer, ставит учетные данные направильные места, но я не нажимаю кнопку входа, я что-то упускаю из-за этой кнопки «Войти», кто-нибудь может мне помочь?

Ошибка «424» отображается на VBA, когда я пытаюсь запустить.

Сайт Мне нужно, чтобы это работало = https://www.solarmanpv.com/portal/LoginPage.aspx

Sub LoginViaBrowser()
    Dim Dc_Usuario As String
    Dim Dc_Senha As String
    Dim Dc_URL As String
    Dim objIE As New InternetExplorer 'Referencie "Microsoft Internet Controls"

    objIE.Visible = True

    Dc_Usuario = "user@email.com"
    Dc_Senha = "pass"
    Dc_URL = "https://www.solarmanpv.com/portal/LoginPage.aspx"

    objIE.Navigate2 Dc_URL

    Do Until objIE.readyState = READYSTATE_COMPLETE
        DoEvents
    Loop

    objIE.document.all("uNam").innertext = Dc_Usuario
    objIE.document.all("uPwd").innertext = Dc_Senha

    objIE.document.all("login").submit

End Sub

Ответы [ 2 ]

0 голосов
/ 30 сентября 2019

Вы пытались позвонить по нему по идентификатору?

IE.Document.getElementById("Loginning").Click  
0 голосов
/ 30 сентября 2019

Пожалуйста, попробуйте использовать инструменты разработчика F12, чтобы проверить элементы html, тогда вы можете обнаружить, что идентификатор кнопки входа в систему - «Вход в систему», а не «вход в систему».

Попробуйте изменить код, как показано ниже:

Sub LoginViaBrowser()
    Dim IE As Object

    Dim Dc_Usuario As String
    Dim Dc_Senha As String
    Dim Dc_URL As String

    Dim txtNam As Object, txtPwd As Object

    Dc_Usuario = "user@email.com"
    Dc_Senha = "pass"

    Set IE = CreateObject("InternetExplorer.Application")
    With IE
        .Visible = True
        .Navigate "https://www.solarmanpv.com/portal/LoginPage.aspx"

        While IE.ReadyState <> 4
            DoEvents
        Wend
        IE.Document.getElementById("uNam").Value = Dc_Usuario
        IE.Document.getElementById("uPwd").Value = Dc_Senha

        IE.Document.getElementById("Loginning").Click

    End With
    Set IE = Nothing
End Sub
...