Во-первых, я очень новичок в попытке автоматизировать IE через Excel VBA.При этом я работаю над тем, чтобы автоматизировать вход в систему на веб-странице конкретной компании (доступной только для наших сотрудников).Цель состоит в том, чтобы автоматизировать вход в систему (номер сотрудника, пароль и нажать «Войти»).Я считаю, что Firefox особенно полезен при идентификации полей, поэтому я использую его на снимке экрана.
В Интернете я нашел некоторый код для перехода на веб-страницу и ввода чего-либо в поле поиска.Я изменил это следующим образом (включенная ссылка не является реальной).
Наконец, к вопросу.Если я зайду, например, на веб-страницу www.google.com, все будет хорошо.Но когда я переключаюсь на ссылку моей компании, код останавливается в Do While, и я получаю сообщение об ошибке.Итак, мой вопрос: почему это работает для общей веб-страницы, а не для конкретной компании?Если я закомментирую эту строку, я все равно получаю отключенную ошибку при отладке.Предполагая, что эту проблему легко решить, правильно ли я определил поле?
Надеюсь, я включил достаточно информации для вас.Если нет, пожалуйста, дайте мне знать, что еще может потребоваться.Заранее благодарим за помощь!
Ошибка
'start a new subroutine called SearchBot
Sub SearchBot()
'dimension (declare or set aside memory for) our variables
Dim objIE As InternetExplorer 'special object variable representing the IE browser
'initiating a new instance of Internet Explorer and asigning it to objIE
Set objIE = New InternetExplorer
'make IE browser visible (False would allow IE to run in the background)
objIE.Visible = True
'navigate IE to this web page (a pretty neat search engine really)
objIE.navigate "http://sampletext.asp"
'wait here a few seconds while the browser is busy
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
'enter value in the employee number box
objIE.document.getElementByName("txtEmployeeNum").Value = "123456"
Номер сотрудника