Selenium – #13 – Jak zlokalizować element po nazwie klasy?
Wprowadzenie.
Z wpisu dowiesz się, w jaki sposób zlokalizować element po nazwie klasy. Lokalizowanie elementu zrealizowałem, wykorzystując Selenium WebDriver w Pythonie.
Zakres artykułu.
- Jak zlokalizować element po nazwie klasy?
- Testy
- Zasoby
- Źródła
Jak zlokalizować element po nazwie klasy?
W celu zlokalizowania elementu na stronie internetowej po nazwie klasy przy użyciu modułu selenium w języku Python należy skorzystać z metody .find_element() obiektu driver. Metoda .find_element() przyjmuje dwa argumenty, gdzie pierwszy informuje metodę, po czym ma się odbyć szukanie na stronie, natomiast drugi argument to ciąg znakowy, który stanowi konkretną nazwę klasy szukanego elementu. Jeżeli chodzi o pierwszy atrybut, to musimy jeszcze pamiętać o zaimportowaniu klasy By z modułu by.py.
from selenium.webdriver.common.by import By
Linijkę kodu, która odpowiada za wyszukanie i utworzenie uchwytu do określonego elementu, przedstawiłem poniżej.
login_credentials_label = driver.find_element(By.CLASS_NAME, 'login_credentials’)
W celu przetestowania funkcjonalności skorzystałem ze strony https://www.saucedemo.com/.
Podobnie jak w poprzednich wpisach, aby odnaleźć element na stronie, możemy skorzystać z narzędzi developerskich, które są wbudowane w popularne przeglądarki internetowe. Uruchomienie narzędzi deweloperskich zrealizujemy poprzez naciśnięcie przycisku F12. Żeby zobaczyć kod strony, należy wybrać zakładkę „Inspector„, natomiast żeby szybko zlokalizować szukany element w kodzie, możemy skorzystać z narzędzia „Inspect” (przeważnie widocznego w postaci ikonki ze strzałką). Dzięki tej funkcjonalności wystarczy, że najedziemy na interesujący nas element, a w sekcji z kodem zostanie znaleziona i podświetlona linijka odpowiedzialna za ten element.

Aby zobaczyć rezultat wyszukiwania, skorzystamy dodatkowo z pola .text. Pole to zostanie oczywiście przedstawione w innym wpisie, ale na potrzeby tego wpisu, musiałem wyprzedzić nieco wprowadzenie tego pola. Wyświetlenie tekstu w terminalu jednoznacznie pokaże nam, że to ten element znaleźliśmy i możemy na nim przeprowadzać różne akcje.
login_credentials_text = login_credentials_label.text
Cały kod programu prezentuje się następująco.
Testy
W celu przetestowania, wyników skryptu należy otworzyć terminal. W terminalu przechodzimy do folderu, w którym znajduje się środowisko wirtualne naszego projektu.
Aktywujemy nasze środowisko wirtualne poleceniem.
source venv/bin/activate
następnie w terminalu przechodzimy do miejsca, gdzie znajduje się nasz skrypt, a następnie wpisujemy komendę do uruchomienia skryptu.
./main.py
Po wykonaniu skryptu powinniśmy w terminalu ujrzeć tekst z akceptowanymi nazwami użytkowników.

Zasoby
https://github.com/Gwyn4744/tutorial_selenium/tree/main/10_class_name_locator
Źródła
[1] Oficjalna strona Selenium, Dostęp z dnia 29 Sierpnia 2023 z https://www.selenium.dev/documentation/webdriver/elements/locators/
[2] Strona do ćwiczenia testowania – saucedemo, Dostęp z dnia 29 Sierpnia 2023 z https://www.saucedemo.com/