Jak zautomatyzować Firefox lub Chrome za pomocą Excel VBA i Selenium

  • Owen Little
  • 0
  • 1366
  • 70
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 takich spraw, jak organizowanie finansów, zarządzanie projektami. 10 Potężnych szablonów do zarządzania projektami Excel do śledzenia 10 Potężnych szablonów do zarządzania projektami Excel do śledzenia Najlepsze szablony do zarządzania projektami są najlepsze. Pobierz te kluczowe szablony arkuszy kalkulacyjnych Microsoft Excel do śledzenia dowolnego projektu. i ustalanie priorytetów celów Używaj zadań Excela i Google do tworzenia najlepszego narzędzia zarządzania celami kiedykolwiek Używaj zadań Excela i Google do tworzenia najlepszego narzędzia zarządzania celami Ostatnio zacząłem zdawać sobie sprawę, że pracuję bardzo ciężko, ale jeśli ktoś zapytał ja, niezależnie od tego, czy czuję, że dążę do większego celu, muszę powiedzieć, że tak naprawdę nie… W zeszłym tygodniu opisałem, jak zautomatyzować IE Korzystanie z VBA do automatyzacji sesji Internet Explorera z arkusza kalkulacyjnego Excel Korzystanie z VBA do automatyzacji sesji Internet Explorera z arkusza kalkulacyjnego Excel Jego integracja z Windows pozwala kontrolować Internet Explorer na wiele zaskakujących sposobów za pomocą Visual Basic dla Skrypt aplikacji (VBA) z dowolnej aplikacji, która go obsługuje, takiej jak Word, Outlook lub Excel. przez skonfigurowanie grup adresów URL w arkuszach Excel, a następnie za pomocą obiektu IE w 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 - opakowania COM systemu Windows dla Selenium.

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 powszechnie 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 korzystać z tego projektu, musisz pobrać i zainstalować opakowanie Selenium VBA. Następnie, tak jak omówiłem w artykule na temat automatyzacji IE Korzystanie z VBA do automatyzacji sesji Internet Explorera z arkusza kalkulacyjnego Excel Korzystanie z VBA do automatyzacji sesji Internet Explorer z arkusza kalkulacyjnego Excel Jego integracja z Windows pozwala kontrolować Internet Explorer na wiele zaskakujących sposobów przy użyciu Skrypt Visual Basic for Applications (VBA) z dowolnej aplikacji, która go obsługuje, takiej jak Word, Outlook lub Excel. , aby napisać dowolny VBA w Excelu, musisz przejść do trybu projektowania i wyświetlić kod. Jeśli nigdy wcześniej tego nie robiłeś, musisz po prostu wejść do “Deweloper” element menu i kliknij Tryb projektowania. Kliknij na “Wstawić” kliknij przycisk ActiveX i narysuj go gdzieś na swoim arkuszu. Gdy to zrobisz, kliknij przycisk, a następnie kliknij przycisk “Wyświetl kod”.

W oknie edytora kodu w lewym dolnym rogu zmień oba “Nazwa” i “Podpis” aby odzwierciedlić do czego służy przycisk. 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 zrobiłem podpis “Załaduj adresy URL” (to pokazuje się na przycisku).

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

Teraz możesz rozpocząć pisanie kodu automatyzacji przeglądarki za pomocą opakowania 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.

Ten przykładowy kod będzie używał WebDriver. Po użyciu w kodzie obiektu Selenium WebDriver i wpisaniu kropki zostanie wyświetlona bardzo długa lista metod i właściwości, których można użyć do zautomatyzowania przeglądarki internetowej.

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 Google Code. 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 o 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.

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

Przyciemnij selen jako nowy SeleniumWrapper.WebDriver Przyciemnij FF jako obiekt Przyciemnij intRowPosition jako liczba całkowita Przyciemnij klucze jako nowy SeleniumWrapper.keys selenium.Start „firefox”, „http://www.google.com” selenium.setTimeout („120000”) selen. setImplicitWait (5000) intRowPosition = 2 selen.Open Sheet1.Range („A” i intRowPosition)

Ostatnie kilka wierszy ustawia wiersz danych Excel do odczytu (wiersz drugi, w którym zapisany jest pierwszy adres URL w arkuszu kalkulacyjnym), a następnie wykonuje “selenium.open” metoda odczytania adresu URL z tego arkusza kalkulacyjnego i otwarcia go w przeglądarce Firefox.

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 do uruchomienia nowej karty 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 selenium.SendKeys keys.Control & „t” selenium.Open Sheet1.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.

Jeśli chcesz użyć tego kodu dla Chrome, wszystko, co musisz zrobić, to zmienić linię “selen. zacznij “Firefox”” do “chrom” zamiast.

Teraz stwórz własny skrypt

Jak wspomniałem powyżej, najlepszym sposobem na poznanie mocy opakowania Selenium jest pisanie “selen” w kodzie, wpisz kropkę i po prostu przejrzyj bardzo długą listę dostępnych właściwości i metod. 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.

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ć.

Czy używasz VBA do automatyzacji komputera? Czy kiedykolwiek zautomatyzowałeś sesje przeglądarki za pomocą VBA? Podziel się z nim swoimi wskazówkami i doświadczeniami w sekcji komentarzy poniżej!




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.