Reklama

Kluczem do automatyzacji jest robienie rzeczy szybciej i łatwiej niż kiedykolwiek wcześniej. Co zajmuje ci dużo czasu? Jaką część twojego obciążenia chciałbyś zautomatyzować?

Jeśli chodzi o produktywność, Excel jest najpopularniejszym narzędziem wykorzystywanym przez ludzi do organizowania finansów, zarządzanie projektami, i ustalanie priorytetów celów. W zeszłym tygodniu opisałem, jak to zrobić zautomatyzować IE przez skonfigurowanie grup adresów URL w arkuszach Excela, a następnie za pomocą obiektu IE w systemie Windows do zautomatyzowania uruchamiania grup adresów URL bezpośrednio z poziomu programu Excel.

Po tym artykule wielu czytelników zapytało, jak zrobić to samo w przeglądarce Firefox lub Chrome. Ponieważ ani Firefox, ani Chrome nie zawierają podobnego obiektu zawartego w systemie Windows, którego można użyć do automatyzacji VBA, wykonywanie tego samego rodzaju działań w innych przeglądarkach wymaga dodatkowego kroku. Ten krok to instalacja Selenium VBA - opakowanie systemu Windows COM dla Selenium.

instagram viewer

Umożliwia wykonywanie połączeń z dowolnej aplikacji obsługującej VBA w celu otwarcia przeglądarki - nie tylko IE - i kontrolowania tej sesji przeglądarki. Jest to potężne narzędzie do automatyzacji, które jest tak często używane, że wielu popularnych producentów przeglądarek wykorzystuje Selenium jako natywną część swojej przeglądarki. Wykorzystanie go w aplikacjach automatyki z pewnością będzie obsługiwane przez wiele lat.

Automatyzacja przeglądarki Firefox i Chrome za pomocą Selenium

Zanim zaczniesz pracę z tym projektem, musisz pobrać i zainstalować opakowanie Selenium VBA. Następnie, tak jak omówiłem w artykule na temat automatyzacja IE, aby napisać dowolny VBA w Excelu, musisz przejść do trybu projektowania i wyświetlić kod. Jeśli nigdy wcześniej tego nie robiłeś, wystarczy przejść do pozycji menu „Deweloper” i kliknąć Tryb projektowania. Kliknij przycisk „Wstaw”, kliknij przycisk ActiveX i narysuj go gdzieś na arkuszu. Gdy to zrobisz, kliknij przycisk, a następnie kliknij „Wyświetl kod”.

selen 1

W oknie edytora kodu w lewym dolnym rogu zmień zarówno „Nazwę”, jak i „Podpis”, aby odzwierciedlić przeznaczenie przycisku. W takim przypadku przycisk będzie otwierać listę adresów URL wymienionych w arkuszu kalkulacyjnym. W moim przypadku właśnie nazwałem to cmdLoadURLs i napisałem „Ładuj adresy URL” (to pojawia się na przycisku).

selenium1b

Następnie musisz włączyć Selenium Wrapper, klikając menu Narzędzia, a następnie „Referencje”, a następnie przejdź do referencji o nazwie „SeleniumWrapper Type Library”. Zaznacz to pole odniesienia, a następnie kliknij przycisk OK.

selen2

Teraz możesz rozpocząć pisanie kodu automatyzacji przeglądarki za pomocą Selenium Wrapper!

Funkcjonalność owijarki Selenium

Owijarka Selenium VBA zapewnia o wiele więcej funkcji, niż będę w stanie pokazać w tym jednym artykule. Możesz zobaczyć, ile jest dostępnych poza WebDriver, definiując obiekt Selenium jako „Nowy SeleniumWrapper”. Po wpisaniu kropki zostaną wyświetlone wszystkie elementy typów obiektów, którymi możesz sterować, takie jak obrazy przeglądarki, pliki PDF, klawisze klawiatury i inne.

selen3

Ten przykładowy kod będzie używał WebDriver. Gdy użyjesz obiektu Selenium WebDriver w kodzie i wpiszesz kropkę, pojawi się bardzo długa lista metod i właściwości, których możesz użyć do zautomatyzowania przeglądarki internetowej.

selen4

Nauczenie się wszystkiego, co jest dostępne, może zająć trochę czasu, ale Google może znaleźć dobre przykłady, za przykładami dostępnymi na stronie Strona kodu Google. Niestety, o ile mi wiadomo, nie ma prostego przewodnika na temat korzystania z Selenium, ale byłbym wdzięczny za czytelników, którzy mogliby zapewnić wszelkie zasoby!

Pisanie kodu VBA Selenium

W tym przykładzie, podobnie jak w artykule z IE, utworzyłem listę adresów URL, które chcę automatycznie otwierać w przeglądarce Firefox. Następnie utworzyłem przycisk zgodnie z opisem w pierwszej części tego artykułu.

selen5

Kod za przyciskiem jest prosty, ale wyjaśnię, co robi każda sekcja. Po pierwsze, musisz uruchomić aplikację Firefox. Zrobi to metoda „selenium.start”. Metody setTimeout i setImplicitWait nie są krytyczne, ale mogą uniemożliwić blokowanie aplikacji na zawsze, jeśli przeglądarka z jakiegoś powodu nie zareaguje.

Dim selenium jako nowy SeleniumWrapper. WebDriver. Dim FF As Object. Dim intRowPosition As Integer. Dim keys As New SeleniumWrapper.keys selenium. Uruchom „firefox”, „ https://www.google.com" selenium.setTimeout („120000”) selenium.setImplicitWait (5000) intRowPosition = 2. selen. Otwórz arkusz 1.Range („A” i intRowPosition)

Ostatnie kilka wierszy ustawia wiersz danych Excel do odczytu (wiersz drugi, w którym zapisany jest pierwszy adres URL arkusz kalkulacyjny), a następnie wykonuje metodę „selenium.open” w celu odczytania adresu URL z tego arkusza kalkulacyjnego i otwarcia go w Firefox

selen 7

Następna sekcja kodu zwiększa wskaźnik wiersza i odczytuje następny adres URL na liście. Jeśli komórka nie jest pusta, używa metody SendKeys, aby uruchomić nową kartę w przeglądarce Firefox, odczytuje następny adres URL z tej sprzedaży i otwiera adres URL w tej nowej karcie.

intRowPosition = intRowPosition + 1 While Sheet1.Range („A” i intRowPosition) <> vbNullString selen. Klucze SendKeys. Kontrola i selen „t”. Otwórz Arkusz1.Range („A” i intRowPosition) intRowPosition = intRowPosition + 1. Wend Set IE = Nic

Skrypt będzie przewijał całą listę, dopóki wszystkie adresy URL nie będą otwarte na własnych kartach. Oto przeglądarka po drugim przejściu pętli i otwarciu MUO w nowej karcie.

selen8

Jeśli chcesz użyć tego kodu w przeglądarce Chrome, wszystko, co musisz zrobić, to zmienić wiersz „selen. Zamiast tego uruchom „firefox” na „chrome”.

Teraz stwórz własny skrypt

Jak wspomniałem powyżej, najlepszym sposobem na poznanie mocy opakowania selenu jest wpisanie „selenu” w kodzie, wpisz kropkę i po prostu przejrzyj bardzo długą listę dostępnych właściwości i metody Na przykład możesz użyć właściwości .URL, aby uzyskać adres URL aktualnie otwartej karty w przeglądarce Firefox lub Chrome.

selen9

Jak widać, istnieje wiele innych rzeczy, które możesz zrobić, które wykraczają daleko poza zakres tego artykułu. Ale eksperymentuj i baw się dobrze. Na szczęście większość funkcji wyświetla wyskakujący tekst pomocy, który pokazuje, jakich parametrów oczekuje każda funkcja. To może bardzo pomóc, jeśli chodzi o wymyślenie, jak go używać.

Co powiesz na kolejny projekt skryptowy? tworząc własną prostą aplikację za pomocą VBA Jak stworzyć własną prostą aplikację za pomocą VBAChcesz wiedzieć, jak stworzyć własną aplikację VBA do rozwiązywania problemów? Skorzystaj z tych wskazówek, aby zbudować własne oprogramowanie VBA. Czytaj więcej ?

Ryan ma tytuł licencjata z inżynierii elektrycznej. Pracował 13 lat w inżynierii automatyki, 5 lat w IT, a teraz jest inżynierem aplikacji. Były redaktor naczelny MakeUseOf, przemawiał na krajowych konferencjach dotyczących wizualizacji danych i był prezentowany w krajowej telewizji i radiu.