CodeGym /Kursy /Python SELF PL /Podstawowe działania w przeglądarce

Podstawowe działania w przeglądarce

Python SELF PL
Poziom 35 , Lekcja 2
Dostępny

1. Otwieranie stron internetowych: pierwsze kroki

Jeśli kiedykolwiek marzyłeś o zostaniu panem stron internetowych, trafiłeś na odpowiedni wykład. Dziś będziemy otwierać strony internetowe przy użyciu Selenium i uczyć się, jak z nimi pracować. Wyobraź sobie, że zarządzasz przeglądarką jak dyrygent orkiestry, tylko że orkiestra to internet, a nuty to kod Python. Zaczynajmy nasz koncert!

Zanim będziemy mogli wejść w interakcję ze stroną internetową, musimy ją otworzyć, prawda? To jak wejście do biblioteki przed znalezieniem książki. W Selenium otwieranie stron odbywa się za pomocą drivera przeglądarki. Zakładamy, że masz już zainstalowane Selenium i odpowiedni web driver (na przykład ChromeDriver lub GeckoDriver). Jeśli byłeś na poprzednim wykładzie, wiesz, jak to zrobić. Jeśli nie, wróć i przeczytaj go jeszcze raz.

Przyjrzyjmy się, jak zacząć od prostego otwierania strony internetowej:

Python

from selenium import webdriver

# Tworzymy instancję drivera przeglądarki Chrome
driver = webdriver.Chrome()

# Otwieramy stronę internetową
driver.get('https://www.example.com')

# Wyświetlamy tytuł strony w konsoli
print(driver.title)

# Zamykamy przeglądarkę
driver.quit()

Co dzieje się w kodzie:

  1. Importujemy webdriver: To serce Selenium, które pozwala zarządzać przeglądarką.
  2. Tworzymy driver: Tutaj tworzymy obiekt drivera dla Chrome. Może to być dowolna przeglądarka, do której masz driver.
  3. Otwieramy stronę: Metoda get() ładuje stronę na podstawie podanego URL.
  4. Pobieramy tytuł: Za pomocą driver.title możemy wypisać tytuł bieżącej strony.
  5. Zamykamy przeglądarkę: Metoda quit() kończy pracę z przeglądarką.

No i proszę, otworzyliśmy naszą pierwszą stronę internetową! To pierwszy krok do globalnej dominacji... ee... chciałem powiedzieć, do automatyzacji!

2. Nawigacja i praca z kartami

Samo otwieranie stron to za mało. Często trzeba poruszać się między stronami albo otwierać kilka kart. Wyobraź sobie, że jesteś podróżnikiem, który może natychmiast teleportować się między miejscami. Z Selenium to jest możliwe.

Przejście między stronami

Przejście z jednej strony na inną jest tak proste, jak otwieranie:

Python

# Przechodzimy na inną stronę
driver.get('https://www.example.org')

# Używamy metody back() do powrotu na poprzednią stronę
driver.back()

# Używamy metody forward() do przejścia do przodu
driver.forward()

Praca z kartami

A co z otwieraniem nowej karty? To jak zabranie ze sobą laptopa do bibliotek w różnych miastach!

Python

# Otwieramy nową kartę i przełączamy się na nią
driver.execute_script("window.open('https://www.example.com', '_blank');")
driver.switch_to.window(driver.window_handles[1])

# Wracamy na pierwszą kartę
driver.switch_to.window(driver.window_handles[0])

Wyjaśnienie:

  • execute_script(): Używane do wykonywania kodu JavaScript w przeglądarce. Tutaj otwieramy nową kartę.
  • switch_to.window(): Ta metoda pozwala przełączać się między kartami. Używamy window_handles do dostępu do listy wszystkich otwartych kart.

3. Interakcja ze stroną internetową

Teraz, gdy nauczyliśmy się otwierać i nawigować po stronach, przejdźmy do bezpośredniej interakcji z nimi — jak prawdziwy programista! To jak nauczenie się tańca z każdą stroną i robienie tego perfekcyjnie.

Interfejs interakcji

Przejdźmy do przykładu, jak pracować z elementami na stronie. Na przykład, znalezienie pola tekstowego i wpisanie do niego tekstu:

Python

# Znajdujemy element po nazwie
search_box = driver.find_element_by_name('q')

# Wpisujemy tekst do znalezionego pola tekstowego
search_box.send_keys('Selenium Python')

# Znajdujemy przycisk wyszukiwania i klikamy na niego
submit_button = driver.find_element_by_name('btnK')
submit_button.click()

Wyjaśnienie:

  • find_element_by_name(): Metoda używana do znalezienia elementu po nazwie. Tutaj szukamy pola tekstowego wyszukiwania.
  • send_keys(): Pozwala wpisywać tekst do znalezionego elementu.
  • click(): Używane do symulacji kliknięcia na element, np. przycisk.

Dodatkowe metody

Do bardziej zaawansowanych interakcji z elementami dostępnych jest wiele metod. Przeglądaj dokumentację Selenium dla głębszego zrozumienia. Tutaj przedstawimy kilka podstawowych.

  • find_element_by_id(): Znajduje element po ID.
  • find_element_by_class_name(): Znajduje element po klasie.
  • find_element_by_css_selector(): Używa selektorów CSS do przeszukiwania.

Teraz możesz otwierać i eksplorować strony jak prawdziwy podróżnik internetowy! Nie bój się eksperymentować i próbować nowych rzeczy. Jak to mówią, "błędy to schody do sukcesu", szczególnie jeśli twój kod jest niezawodny i przetestowany!

Typowe błędy

Praca z Selenium może być trochę jak stąpanie po polu minowym, jeśli nie znasz podstawowych pułapek. Jednym z najczęstszych błędów jest zapomnienie o zakończeniu sesji przeglądarki. Może to prowadzić do zawieszania się procesów przeglądarki w pamięci. Zawsze używaj driver.quit() na końcu swojego skryptu.

Kolejna bolączka programisty w Selenium — zmiany w strukturze stron. Jeśli element został znaleziony za pomocą selektora, a twórca strony zmienił strukturę HTML, twój skrypt nagle przestaje działać. To jak gdyby ktoś nagle zamknął drzwi, kiedy próbowałeś wejść do pokoju. Ważne jest, aby pisać elastyczny kod i regularnie go aktualizować zgodnie ze zmianami na stronie.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION