Я пытался протестировать ваш код на своей стороне, но не получил той же ошибки, что и ваш.
Я пытаюсь проверить источник этой страницы, но есть событие Onchange в поле «Имя пользователя» и «Пароль».
Вы можете попробовать запустить событие change после установки значения в поле, которое может помочь решить проблему. Функция события OnChnage отображает код captcha.
Пример кода для запуска события изменения:
Set ieEvent = htmldoc.createEvent("HTMLEvents")
ieEvent.initEvent "change", False, True
ie.document.all.Item("txt1").dispatchEvent ieEvent
Измененный код:
Sub Login_Traces()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate "https://nriservices.tdscpc.gov.in/nriapp/login.xhtml"
Do While IE.Busy
Application.Wait DateAdd("s", 1, Now)
Loop
Set DOC = IE.document
Set ieEvent = DOC.createEvent("HTMLEvents")
ieEvent.initEvent "change", False, True
DOC.getElementById("userId").Value = ThisWorkbook.Sheets("Sheet1").Range("A1").Value
IE.document.all.Item("userId").dispatchEvent ieEvent
DOC.getElementById("psw").Value = ThisWorkbook.Sheets("Sheet1").Range("A2").Value
IE.document.all.Item("psw").dispatchEvent ieEvent
DOC.getElementById("tanpan").Value = ThisWorkbook.Sheets("Sheet1").Range("A3").Value
End Sub
Вывод:
введите описание изображения здесь
Теперь вы можете видеть, что идентификатор пользователя не соответствует указанному формату, потому что мы вводим фиктивный идентификатор пользователя. вы можете ввести правильный идентификатор, чтобы исправить эту ошибку.