Нажмите Значение элемента в конце - PullRequest
0 голосов
/ 05 февраля 2019

Система принимает значение getelementbyid, но позволяет войти в систему, если мы нажмем на это поле

Я хотел войти на веб-страницу "https://www.connect2nse.com/MemberPortal/home.jsp", но сайт принимает только значения ввода с клавиатуры

Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.navigate "https://www.connect2nse.com/MemberPortal/home.jsp"
While ie.readyState <> 4: DoEvents: Wend
ie.Visible = True
ie.document.getElementById("user_id").Value = "1234ABC"
ie.document.getElementById("member_code").Value = "1234"
ie.document.getElementById("password").Value = "5678"
Dim VAL As String
VAL = InputBox("Enter Captcha Value", "CAPTCHA", "")
If VAL = "" Then
End
End If
ie.document.getElementById("loginCap").Value = (VAL)
ie.document.getElementById("ext-gen39").Click

Система включает кнопку «Отправить», если идентификатор пользователя, код участника, пароль и капча введены с помощью клавиатуры, или щелкните мышью по этому полю

Как это сделать с помощью VBA

1 Ответ

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

Сначала вам нужно сосредоточиться на элементе

ie.document.getElementById("loginCap").Focus
ie.document.getElementById("loginCap").Value = VAL

Могу ли я предложить вам безопасно выйти из кода, используя

If VAL = vbNullString Then Exit Sub 

, а не текущий оператор If, который использует End.

Кроме того, используйте правильное ожидание загрузки страницы с

While ie.Busy Or ie.readyState < 4: DoEvents: Wend
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...