Windows

Как автоматизировать Firefox или Chrome с помощью Excel VBA и Selenium

Как автоматизировать Firefox или Chrome с помощью Excel VBA и Selenium

Ключ к автоматизации — делать вещи быстрее и проще, чем когда-либо раньше. Так что же у тебя занимает много времени? Какую часть вашей рабочей нагрузки вы хотели бы автоматизировать?

Разблокируйте чит-лист «Ultimate Google Chrome Keyboard Shortcuts» прямо сейчас!

Это подпишет вас на нашу рассылку

Введите адрес электронной почты

Что касается производительности, Excel является наиболее распространенным инструментом, используемым людьми для организации финансов, управления проектами. управления проектами управления проектами и расставьте приоритеты для целей. задачи . На прошлой неделе я описал, как автоматизировать IE. , настроив группы URL-адресов в листах Excel, а затем используя объект IE в Windows, чтобы автоматизировать запуск групп URL-адресов прямо из Excel.

После этой статьи многие читатели спрашивали, как сделать то же самое в Firefox или Chrome. Поскольку ни в Firefox, ни в Chrome нет аналогичного объекта, включенного в Windows, который можно использовать для автоматизации VBA, выполнение аналогичных действий в других браузерах требует дополнительного шага. Этот шаг — установка Selenium VBA — оболочки Windows COM для Selenium.

Он позволяет вам выполнять вызовы из любого приложения, которое поддерживает VBA, чтобы открыть браузер, а не только IE, и управлять этим сеансом браузера. Это мощный инструмент автоматизации, который так часто используется, что многие популярные производители браузеров включают Selenium в качестве родной части своего браузера. Использование его в ваших приложениях автоматизации обязательно будет поддерживаться на долгие годы.

Автоматизация Firefox и Chrome с помощью Selenium

Прежде чем начать работу с этим проектом, вам необходимо загрузить и установить оболочку Selenium VBA. Затем, как я уже говорил в статье об автоматизации IE , чтобы написать любой VBA в Excel, вам нужно войти в режим разработки и просмотреть код. Если вы никогда не делали этого раньше, вам просто нужно зайти в пункт меню «Разработчик» и нажать «Режим разработки». Нажмите кнопку «Вставить», нажмите кнопку ActiveX и нарисуйте ее где-нибудь на своем листе. Как только вы это сделаете, нажмите на кнопку, а затем нажмите «Просмотр кода».

selenium1

В окне редактора кода в левом нижнем углу обязательно измените «Имя» и «Заголовок», чтобы отразить, для чего предназначена кнопка. В этом случае кнопка будет открывать список URL-адресов, которые вы указали в электронной таблице. В моем случае я просто назвал его cmdLoadURLs и сделал подпись «Загрузить URL» (это то, что отображается на кнопке).

selenium1b

Затем вам нужно включить Selenium Wrapper, нажав в меню «Сервис», затем «Ссылки», а затем перейдите к ссылке под названием «Библиотека типов SeleniumWrapper». Установите флажок для ссылки и нажмите кнопку ОК.

selenium2

Теперь вы готовы начать писать код автоматизации браузера с помощью Selenium Wrapper!

Функциональность Selenium Wrapper

Selenium VBA Wrapper дает вам гораздо больше функциональности, чем я смогу показать вам в этой статье. Вы можете увидеть, сколько доступно за пределами WebDriver, определив объект Selenium как «New SeleniumWrapper». Когда вы вводите точку, в ней будут раскрыты все элементы типов объектов, которыми вы можете управлять, например изображения браузера, файлы PDF, клавиши клавиатуры и т. Д.

selenium3

Этот пример кода будет использовать WebDriver. Как только вы используете объект Selenium WebDriver в своем коде и вводите точку, вы увидите очень длинный список методов и свойств, которые вы можете использовать для автоматизации вашего веб-браузера.

selenium4

Чтобы узнать все, что доступно, может потребоваться некоторое время, но Google может найти несколько хороших примеров за примерами, доступными на странице кода Google . К сожалению, насколько я знаю, не существует прямого руководства по использованию Selenium, но я был бы благодарен всем читателям, которые могли бы предоставить любые ресурсы!

Написание вашего кода VBA Selenium

В этом примере, как и в статье IE, я создал список URL-адресов, которые я хочу автоматически открывать в Firefox. Затем я создал кнопку, как описано в первой части этой статьи.

selenium5

Код за кнопкой прост, но я собираюсь объяснить, что делает каждый раздел. Прежде всего, вам нужно запустить приложение Firefox. Метод selenium.start сделает это. Методы setTimeout и setImplicitWait не являются критическими, но могут предотвратить блокировку вашего приложения навсегда, если браузер по какой-то причине не отвечает.

  Тусклый селен как новый SeleniumWrapper.WebDriver
 Dim FF As Object
 Dim intRowPosition как целое число
 Dim keys As New SeleniumWrapper.keys

 selenium.Start "firefox", "http://www.google.com"
 selenium.setTimeout ("120000")
 selenium.setImplicitWait (5000)
 intRowPosition = 2
 selenium.Open Sheet1.Range ("A" & intRowPosition) 

Последняя пара строк устанавливает строку данных Excel для чтения (вторая строка, где первый URL-адрес хранится в электронной таблице), а затем выполняет метод «selenium.open», чтобы прочитать URL-адрес из этой электронной таблицы и открыть ее. в Firefox.

selenium7

Следующий раздел кода увеличивает указатель строки и читает следующий URL-адрес в списке. Если ячейка не пуста, она использует метод SendKeys для запуска новой вкладки в Firefox, считывает следующий URL из этой продажи и открывает URL в этой новой вкладке.

  intRowPosition = intRowPosition + 1

 Хотя Sheet1.Range ("A" и intRowPosition) <> vbNullString
     selenium.SendKeys keys.Control & "t"
     selenium.Open Sheet1.Range ("A" & intRowPosition)
     intRowPosition = intRowPosition + 1
 венед

 Установить IE = ничего 

Скрипт будет перебирать весь ваш список, пока все URL не будут открыты в их собственных вкладках. Вот браузер после того, как цикл прошел через второй раз и открыл MUO в новой вкладке.

selenium8

Если вы хотите использовать этот код для Chrome, все, что вам нужно сделать, это изменить строку «selenium.Start« firefox »» вместо «chrome».

Теперь создайте свой собственный скрипт

Как я уже упоминал выше, лучший способ узнать всю мощь Selenium Wrapper — это ввести «селен» в своем коде, нажать точку и просто просмотреть очень длинный список доступных свойств и методов. Например, вы можете использовать свойство .URL для получения URL-адреса открытой в данный момент вкладки в Firefox или Chrome.

selenium9

Как вы можете видеть, есть еще много вещей, которые вы можете сделать, которые выходят далеко за рамки этой статьи. Но поэкспериментируйте и повеселитесь. К счастью, во многих функциях появится всплывающая подсказка, которая показывает, какие параметры ожидает каждая функция. Это может очень помочь, когда дело доходит до выяснения, как его использовать.

Используете ли вы VBA для автоматизации вашего компьютера? Вы когда-нибудь автоматизировали свои сессии браузера от VBA? Поделитесь своими собственными советами и опытом с ним в разделе комментариев ниже!

Похожие посты
Windows

Драйверы для Windows 10

Windows

Лучшие приложения для фотографии на вашем Windows Phone

Windows

Команды командной строки для панели управления апплетами

Windows

Официальное приложение SmugMug теперь доступно для Windows Phone