#html #vba #internet-explorer
Вопрос:
У меня есть код VBA для навигации по веб-странице, чтения содержимого, нажатия кнопок, заполнения текста и т. Д… Этот код использует Internet Explorer. Ниже я не копировал код, а только поместил основные объекты, которые я использую, чтобы дать вам представление:
Dim HTMLDoc As HTMLDocument
Dim oBrowser As InternetExplorer
Dim oHTML_Element As IHTMLElement
Set ie = CreateObject("InternetExplorer.Application")
ie.navigate Url
ie.Visible = True
...
Set oBrowser = ie
oBrowser.Visible = True
...
Set HTMLDoc = oBrowser.document
Set nodeAllDiv = HTMLDoc.getElementsByTagName("p")
Txt = nodeAllDiv.Item(0).innerText
..
HTMLDoc.getElementsByTagName("p").Item(nodeAllDiv.Length - 1).Click
Set listButtons = HTMLDoc.getElementsByTagName("button")
listButtons.Item(0).Click
Set formDivs = HTMLDoc.getElementsByTagName("form")
Проблема в том, что в последнее время веб-страница, по которой я перемещаюсь, больше не поддерживается Internet Explorer и использует Chrome или Edge, поэтому я не могу использовать этот код VBA в его нынешнем виде.
Есть ли способ повторно использовать то, что я написал до сих пор (повторное использование одних и тех же объектов и т. Д. ) ? По возможности без перехода на другой фреймворк/язык
Спасибо
Комментарии:
1. Является ли веб-сайт общедоступным?
2. Я думаю, что ответ 3LexW правильный. Согласно вашему описанию, SeleniumBasic-лучший выбор, вы можете использовать его с Chrome. Но вам придется изменить свой код. Вы также можете обратиться к репозиторию GitHub для примеров кода SeleniumBasic.
3. Сайт не является общедоступным. Я думал, что Microsoft могла бы, по крайней мере, сделать Edge пригодным для использования с моим кодом.
4. Нетрудно выучить SeleniumBasic, и вы все еще можете использовать VBA. Edge не поддерживает интерфейс автоматизации COM (объект InternetExplorer), используемый в VBA.
5. Я просто подумал, что не могу установить Selenium, моя компания запрещает установку чего-либо с github
Ответ №1:
Seleniumbasic
это пакет веб-автоматизации для среды VBA, на который вы, возможно, захотите взглянуть.
Комментарии:
1. Спасибо, вы имеете в виду, что я не могу повторно использовать объекты, подобные созданным для других браузеров?
2. Действия по поиску элемента для selenium довольно просты в освоении, а документация хорошо написана. К сожалению, вам может потребоваться некоторое время, чтобы изменить свой код, но обучение и миграция не являются сложными, поскольку они очень похожи.