Реклама
Ключ к автоматизации - делать вещи быстрее и проще, чем когда-либо прежде. Так что же у тебя занимает много времени? Какую часть вашей рабочей нагрузки вы хотели бы автоматизировать?
Когда дело доходит до производительности, Excel является наиболее распространенным инструментом, используемым людьми для таких вещей, как организация финансов, управление проектами, и расстановка приоритетов. На прошлой неделе я описал, как автоматизировать IE путем настройки групп URL-адресов в листах Excel, а затем с помощью объекта IE в Windows для автоматизации запуска групп URL-адресов прямо из Excel.
После этой статьи многие читатели спрашивали, как сделать то же самое в Firefox или Chrome. Поскольку ни в Firefox, ни в Chrome нет аналогичного объекта, включенного в Windows, который можно использовать для автоматизации VBA, выполнение аналогичных действий в других браузерах требует дополнительного шага. Этот шаг является установка Селен VBA - оболочка Windows COM для Selenium.
Он позволяет вам выполнять вызовы из любого приложения, которое поддерживает VBA, чтобы открыть браузер - не только IE - и управлять этим сеансом браузера. Это мощный инструмент автоматизации, который так часто используется, что многие популярные производители браузеров включают Selenium в качестве родной части своего браузера. Использование его в ваших приложениях автоматизации обязательно будет поддерживаться в течение многих лет.
Автоматизация Firefox и Chrome с помощью Selenium
Прежде чем начать работу с этим проектом, вам необходимо скачать и установить оболочку Selenium VBA. Затем, как я уже говорил в статье о автоматизировать IEЧтобы написать любой VBA в Excel, нужно войти в режим разработки и просмотреть код. Если вы никогда не делали этого раньше, вам просто нужно зайти в пункт меню «Разработчик» и нажать «Режим разработки». Нажмите кнопку «Вставить», нажмите кнопку ActiveX и нарисуйте ее где-нибудь на своем листе. Сделав это, нажмите кнопку, а затем нажмите «Просмотреть код».
В окне редактора кода в левом нижнем углу обязательно измените «Имя» и «Заголовок», чтобы отразить, для чего предназначена кнопка. В этом случае кнопка будет открывать список URL-адресов, которые вы указали в электронной таблице. В моем случае я просто назвал его cmdLoadURLs и сделал подпись «Загрузить URL» (это то, что отображается на кнопке).
Затем вам нужно включить Selenium Wrapper, щелкнув меню «Сервис», затем нажмите «Ссылки», а затем перейдите к ссылке под названием «Библиотека типов SeleniumWrapper». Установите флажок для ссылки и нажмите кнопку ОК.
Теперь вы готовы начать писать код автоматизации браузера с помощью Selenium Wrapper!
Функциональность Selenium Wrapper
Selenium VBA Wrapper дает вам гораздо больше функциональности, чем я смогу показать вам в этой статье. Вы можете увидеть, сколько доступно за пределами WebDriver, определив объект Selenium как «New SeleniumWrapper». Когда вы вводите точку, в ней будут раскрыты все элементы типов объектов, которыми вы можете управлять, например изображения браузера, файлы PDF, клавиши клавиатуры и т. Д.
Этот пример кода будет использовать WebDriver. Как только вы используете объект Selenium WebDriver в своем коде и вводите точку, вы увидите очень длинный список методов и свойств, которые вы можете использовать для автоматизации вашего веб-браузера.
Чтобы узнать все, что доступно, может потребоваться некоторое время, но Google может привести несколько хороших примеров за примерами, доступными на Кодовая страница Google. К сожалению, насколько я знаю, не существует прямого руководства по использованию Selenium, но я был бы благодарен всем читателям, которые могли бы предоставить любые ресурсы!
Написание вашего кода VBA Selenium
В этом примере, как и в статье IE, я создал список URL-адресов, которые я хочу автоматически открывать в Firefox. Затем я создал кнопку, как описано в первой части этой статьи.
Код позади кнопки прост, но я собираюсь объяснить, что делает каждый раздел. Прежде всего, вам нужно запустить приложение Firefox. Метод selenium.start сделает это. Методы setTimeout и setImplicitWait не являются критическими, но они могут предотвратить блокировку вашего приложения навсегда, если браузер по какой-то причине не отвечает.
Dim Selen As New SeleniumWrapper. WebDriver. Дим Ф.Ф. как объект. Dim intRowPosition как целое число. Dim keys As New SeleniumWrapper.keys Селен. Запустите "Firefox", " https://www.google.com" selenium.setTimeout ("120000") selenium.setImplicitWait (5000) intRowPosition = 2. селен. Открыть Sheet1.Range ("A" и intRowPosition)
Последняя пара строк устанавливает строку данных Excel для чтения (вторая строка, где первый URL хранится в электронная таблица), а затем выполняет метод «selenium.open», чтобы прочитать URL-адрес из этой электронной таблицы и открыть его в Fire Fox.
Следующий раздел кода увеличивает указатель строки и читает следующий URL в списке. Если ячейка не пустая, она использует метод SendKeys для запуска новой вкладки в Firefox, считывает следующий URL из этой продажи и открывает URL в этой новой вкладке.
intRowPosition = intRowPosition + 1 While Sheet1.Range ("A" и intRowPosition) <> vbNullString селен. Ключи SendKeys. Контроль и «т» селена. Откройте Sheet1.Range ("A" и intRowPosition) intRowPosition = intRowPosition + 1. Wend Set IE = Nothing
Скрипт будет перебирать весь ваш список, пока все URL не будут открыты в своих вкладках. Вот браузер после того, как цикл прошел второй раз и открыл MUO в новой вкладке.
Если вы хотите использовать этот код для Chrome, все, что вам нужно сделать, это изменить строку «селен. Вместо этого начните с «Firefox» до «Chrome».
Теперь создайте свой собственный скрипт
Как я уже упоминал выше, лучший способ узнать о силе Selenium Wrapper - это набрать «selenium». в своем коде нажмите точку и просто просмотрите очень длинный список доступных свойств и методы. Например, вы можете использовать свойство .URL для получения URL-адреса открытой в данный момент вкладки в Firefox или Chrome.
Как вы можете видеть, есть еще много вещей, которые вы можете сделать, выходящие за рамки этой статьи. Но поэкспериментируйте и повеселитесь. К счастью, во многих функциях появится всплывающая подсказка, которая показывает, какие параметры ожидает каждая функция. Это может очень помочь, когда дело доходит до выяснения, как его использовать.
Для вас следующий сценарий проекта, как насчет создание собственного простого приложения с VBA Как вы можете сделать свое собственное простое приложение с VBAХотите знать, как создать собственное приложение VBA для решения проблем? Используйте эти советы для создания своего собственного программного обеспечения VBA. Прочитайте больше ?
Райан имеет степень бакалавра в области электротехники. Он 13 лет проработал в области автоматизации, 5 лет - в сфере информационных технологий, а сейчас является инженером приложений. Бывший управляющий редактор MakeUseOf, он выступал на национальных конференциях по визуализации данных и был представлен на национальном телевидении и радио.