Проблема заполнителя веб-страниц с входными данными Excel, которая перекрывается - PullRequest
0 голосов
/ 09 февраля 2019

При поиске, является ли адрес электронной почты действительным или нет, я получаю эту проблему, в которой заполнитель с веб-сайта всегда скрывает мой ввод в Excel и не переходит к следующей команде.Также необходимо получить сообщение из внутреннего текста веб-страницы в Excel рядом с адресом электронной почты.

При использовании веб-адреса VBA введите адрес электронной почты из ячейки A2 Excel на странице входа в систему и нажмите «Далее».

Sub Test()
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate "https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=13&ct=1549662555&rver=6.7.6631.0&wp=MBI_SSL&wreply=https%3a%2f%2fwww.bing.com%2fsecure%2fPassport.aspx%3frequrl%3dhttps%253a%252f%252fwww.bing.com%252fsearch%253fq%253dmsn%2526form%253dEDGEAR%2526qs%253dPF%2526cvid%253d904d7a00fd1b4125ab81e0f3bb83208e%2526cc%253dUS%2526setlang%253den-US%2526wlsso%253d1%2526wlexpsignin%253d1%26sig%3d22F3BD543C546368216CB1A93D3562E7&lc=1033&id=264960&CSRFToken=f4af0dd6-d72f-4001-9430-e76c6c91253b&aadredir=1"

Do While IE.readyState <> 4: DoEvents: Loop
IE.document.getElementById("i0116").Value = "absdrs@outlook.com"
End Sub

Если есть ошибка типа «учетная запись не существует. Введите другую учетную запись», упомяните «ошибка» перед ячейкой A2 в Excel, иначе «действительный».Он будет продолжать переходить к следующему значению в ячейке A2 до последнего.(VBA для сети в цикле)

1 Ответ

0 голосов
/ 09 февраля 2019

Сайт ожидает нажатия клавиш.Либо найдите способ вызвать это, возможно, с помощью FireEvent, в IE, либо переключитесь на использование selenium basic.После установки selenium basic , перейдите VBE> Инструменты> Ссылки и добавьте ссылку на Selenium Type Library.

Option Explicit

Public Sub test()
    Dim d As ChromeDriver, loginDetails(), ws As Worksheet, i As Long
    Set ws = ThisWorkbook.Worksheets("Sheet2")
    loginDetails = ws.Range("A1:B2").Value       ' Column A has email, col B has password
    Set d = New ChromeDriver
    With d
        .get "https://login.live.com/"

        For i = LBound(loginDetails, 1) To UBound(loginDetails, 1)
            .FindElementById("i0116").SendKeys loginDetails(i, 1)
            .FindElementById("idSIButton9").Click

            'Other code ....
        Next
        .Quit
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...