Я хочу войти на веб-сайт. После долгих проб и ошибок я наконец-то написал код, который работает довольно хорошо. ... но получил пробники Сначала я получил пробу, которая возникает и говорит
нет соединения с сервером Это проб я решил
Установить ie = CreateObject ("new: {D5E8041D-920F-45e9-B8FB- B1DEB82C6E5E} ")
Следующая проба заключается в том, что когда я запускаю код Шаг за шагом (триггер F8), код работает довольно хорошо. Но при запуске F5 я получил пробу в строке Set UserNameInput = LoginForm.getElementsByClassName (" prePopulatedCredentials ") (0) Это .. Я не понимаю
Следующий Проб - это debug.print" Prob ". Хотя я активировал Window (STR + G), debug.print не отображается. Почему я хочу увидеть результат печати отладки? Итак ... Я хочу выяснить, какую кнопку мне нужно активировать, используя код VBA. В моем случае у меня есть 3 варианта: Поиск, новый поиск, go назад или Вход в систему. Я нашел решение для другой веб-страницы. TestLogin () Dim ... Dim LoginForm As MS HTML .HTMLFormElement .. code LoginForm.submit
Для другой веб-страницы я хочу найти кнопки Поиск, новый поиск, go назад
Код почти такой же
Sub Get () Dim ... Dim HTML Button AS MS HTML .IHTMLELEMENT ... Code
Установить кнопки = HTMLDo c .GetElementsByTagName («кнопка») для каждого HTMLButton в HTMLButtons Debug.Print HTMLButton.className, HTMLButton.tagName, HTMLButton.Id, HTMLButton.innerText Следующая кнопка
End Sub
* 1019 в этом если код выполняется до строки Set Buttons = HTMLDo c .GetElementsByTagName ("button"), и он переходит к End Sub
Здесь мой код для первой веб-стороны с вероятностью, вызывающей код с помощью F8 или F5
Sub TestLogin()
Dim ie As SHDocVw.InternetExplorerMedium
Sub TestLogin()
Dim ie As SHDocVw.InternetExplorerMedium
Dim doc As MSHTML.HTMLDocument
Dim LoginForm As MSHTML.HTMLFormElement
Dim UserNameInput As MSHTML.HTMLInputElement
Dim PasswordInput As MSHTML.HTMLInputElement
Set ie = New SHDocVw.InternetExplorer
' Here I found a solution in the www regarding the Prob Net.Framework
Set ie = CreateObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")
ie.Visible = True
ie.Navigate Sheet1.Range("B1").Text
Do While ie.ReadyState <> READYSSTATE_COMPLETE And ie.Busy
Loop
Set doc = ie.Document
Set LoginForm = doc.getElementById(Sheet1.Range("B4").Text)
Set UserNameInput = LoginForm.getElementsByClassName("prePopulatedCredentials")(0)
Set PasswordInput = LoginForm.getElementsByClassName("prePopulatedCredentials ")(1)
UserNameInput.Value = Sheet1.Range("B2").Text
PasswordInput.Value = Sheet1.Range("B3").Text
Stop
'LoginForm.submit
End Sub
А вот код для 2-ой веб-страницы с отладкой Prob Печать
Sub Get()
Dim ie As New SHDocVw.InternetExplorer
Dim HTMLDoc As MSHTML.HTMLDocument
Dim HTMLInput As MSHTML.IHTMLElement
Dim UserNameInput As MSHTML.HTMLInputElement
Dim VornameInput As MSHTML.HTMLInputElement
Dim HTMLButton As MSHTML.IHTMLElement
Dim HTMLButtons As MSHTML.IHTMLElementCollection
Dim SecurityWindow As Object
Set ie = New SHDocVw.InternetExplorer
Set ie = CreateObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")
ie.Visible = True
ie.Navigate Tabelle1.Range("B1").Text
Do While ie.ReadyState <> READYSSTATE_COMPLETE And ie.Busy
Loop
Set HTMLDoc = ie.Document
Set UserNameInput = HTMLDoc.getElementById("sur")
Set VornameInput = HTMLDoc.getElementById("given")
UserNameInput.Value = Sheets1.Range("B2").Text
VornameInput.Value = Sheets1.Range("B3").Text
Stop
Set HTMLButtons = HTMLDoc.getElementsByTagName("btn")
For Each HTMLButton In HTMLButtons
Debug.Print HTMLButtons.className, HTMLButtons.tagName, HTMLButtons.ID, HTMLButtons.innerText
Next HTMLButton
End Sub
Что я сделал не так или пропустил?
Спасибо за любую помощь И ... самое главное Примите все ваши заботы С наилучшими пожеланиями, оставайся в безопасности и будь здоров!
Пит