реклама
Ключът към автоматизацията е да правите нещата по-бързо и по-лесно, отколкото досега. И така, какво ви отнема много време? Каква част от вашето натоварване бихте искали да автоматизирате?
Що се отнася до производителността, 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“. Поставете отметка в това поле и щракнете върху OK.
Вече сте готови да започнете да пишете код за автоматизация на браузъра с помощта на Selenium Wrapper!
Функционалност на селеновата обвивка
Selenium VBA Wrapper ви дава много повече функционалност, отколкото ще мога да ви покажа в тази една статия. Можете да видите само колко е достъпно освен WebDriver, като дефинирате обекта Selenium като „New SeleniumWrapper“. Когато въвеждате периода, той ще пада надолу всички елементи на типовете обекти, които можете да контролирате, като изображения на браузъра, PDF файлове, клавиатурни клавиши и др.
Този примерен код ще използва WebDriver. След като използвате обекта Selenium WebDriver във вашия код и въведете периода, той ще изпадне много дълъг списък от методи и свойства, които можете да използвате за автоматизиране на уеб браузъра си.
Може да отнеме известно време, за да научите всичко, което е на разположение, но Google може да намери някои добри примери, зад извадките, налични в Страница с код на Google. За съжаление, доколкото знам, няма директно ръководство за използване на Selenium, но ще бъда благодарен на всички читатели, които биха могли да предоставят всякакви ресурси!
Писане на Вашия VBA Селен код
В този пример, като в статията за IE, създадох списък с URL адреси, които искам да отворя автоматично в Firefox. След това създадох бутона, както е описано в първата част на тази статия.
Кодът зад бутона е прав, но ще обясня какво прави всеки раздел. Първо, трябва да стартирате приложението Firefox. Методът „selenium.start“ ще направи това. Методите setTimeout и setImplicitWait не са критични, но могат да попречат на приложението ви да се заключи завинаги, ако браузърът не отговори по някаква причина.
Дим селен като нов SeleniumWrapper. WebDriver. Dim FF като обект. Dim intRowPosition като цяло число. Дим клавиши Като нов SeleniumWrapper.keys селен. Стартирайте "firefox", " https://www.google.com" selenium.setTimeout ("120000") selenium.setImplicitWait (5000) intRowPosition = 2. селен. Open Sheet1.Range ("A" & intRowPosition)
Последните няколко реда задават реда на данните на Excel да се чете (втори ред, където първият URL се съхранява в електронна таблица) и след това изпълнява метода „selenium.open“, за да прочете URL адреса от тази електронна таблица и да го отвори в Firefox.
Следващият раздел на кода увеличава показалеца на реда и чете следващия URL адрес в списъка. Ако клетката не е празна, тя използва метода SendKeys, за да стартира нов раздел в Firefox, чете следващия URL адрес от тази продажба и отваря URL адреса в този нов раздел.
intRowPosition = intRowPosition + 1 Докато Sheet1.Range ("A" & intRowPosition) <> vbNullString селен. Ключове SendKeys. Контрол & "t" селен. Отворете Sheet1.Range ("A" & intRowPosition) intRowPosition = intRowPosition + 1. Wend Set IE = Нищо
Скриптът ще прегледа целия ви списък, докато всички URL адреси не бъдат отворени в техните собствени раздели. Ето браузъра, след като цикълът премина втори път и отвори MUO в нов раздел.
Ако искате да използвате този код за Chrome, всичко, което трябва да направите, е да промените реда „селен“. Стартирайте "firefox" "на" chrome "вместо това.
Сега създайте свой собствен скрипт
Както споменах по-горе, най-добрият начин да научите силата на селеновата обвивка е да въведете „селен“ във вашия код, натиснете периода и просто прегледайте много дългия списък от налични свойства и методи. Например, можете да използвате свойството .URL, за да получите URL адреса на текущо отворения раздел в Firefox или Chrome.
Както можете да видите, има още много неща, които можете да направите, които надхвърлят обхвата на тази статия. Но експериментирайте и се забавлявайте. За щастие, повечето от функциите ще изскачат помощен текст, който ви показва какви параметри очаква всяка функция. Това може да помогне много, когато се измисли как да го използвате.
За вас следващия сценариен проект, какво ще кажете за това създаване на собствено просто приложение с VBA Как можете да направите своя собствена проста ап с VBAИскате ли да знаете как да направите свое собствено приложение VBA за решаване на проблеми? Използвайте тези съвети, за да създадете свой собствен VBA софтуер. Прочетете още ?
Райън има бакалавърска степен по електротехника. Работил е 13 години в автоматизацията, 5 години е в ИТ, а сега е инженер на приложения. Бивш управляващ редактор на MakeUseOf, той говори на национални конференции за визуализация на данни и е участвал в националната телевизия и радио.