• Przejdź do głównej nawigacji
  • Przejdź do treści
  • Przejdź do głównego paska bocznego
  • Przejdź do stopki
Testelka.pl

Testelka.pl

Testelka.pl - o technologiach w testowaniu oprogramowania

  • Kursy
    • DARMOWY: Java dla testerów
    • Selenium w Javie
    • Selenium w C#
    • Testy API w REST Assured
    • Selektory CSS
    • XPath
  • Materiały na raz
  • Blog
  • O Eli
  • Zaloguj się
  • DOŁĄCZ

XPath 3. Fragment atrybutu i szukanie po tekście

Strona główna > Kursy > XPath dla testerów > XPath 3. Fragment atrybutu i szukanie po tekście

Dzisiaj poruszymy dwa tematy. Pierwszy z nich to posługiwanie się tylko fragmentem wartości atrybutu do wyszukania elementu. Drugi z nich to powód, dla którego chyba najczęściej sięgamy do XPatha nawet, jeżeli na co dzień go nie używamy, czyli szukanie po tekście elementu.

Konsola deweloperska i znaczniki

Jeżeli nie znasz konsoli deweloperskiej i nie wiesz czym są znaczniki HTML, zacznij od tej lekcji: Znaczniki i konsola deweloperska. Jeżeli jesteś tutaj z kursu Selenium w C#, to najpewniej masz ją już za sobą 😉

Przewodnik po selektorach CSS i XPath

Przy lekcjach dotyczących selektorów CSS i XPatha, a już szczególnie przy zadaniach, pomocny się może okazać przewodnik po selektorach CSS i XPath.

>> Dostaniesz go tutaj

Fragment wartości atrybutu i szukanie po tekście: linki i materiały

W XPathie mamy możliwość wyszukiwania po fragmencie wartości atrybutów. Możemy się posłużyć jedną z dwóch funkcji: contains() albo starts-with(). Same nazwy już dużo mówią o tym, czemu te metody będą służyły. Pierwsza służy do podania warunku dotyczącego tego, że któryś z atrybutów elementu ma zawierać jakiś ciąg znaków, a druga mówi o tym, że wartość danego atrybutu ma się zaczynać jakimś ciągiem znaków.

Ukryta treść

Nie masz aktywnej subskrypcji. Wykup subskrypcję albo zaloguj się, by móc zobaczyć pełną lekcję.

W powyższym przykładzie pierwszy XPath znajdzie wszystkie elementy, których klasa zawiera product, a drugi XPath zaznaczy wszystkie elementy, których klasa zaczyna się od product. Klasa jest tylko przykładem, bo można użyć dowolnego atrybutu.

Szukanie po tekście i jego fragmencie

Szukanie po tekście to szukanie po tym, co się znajduje pomiędzy tagiem otwierającym i zamykającym. Przykładowo mamy np. poniższy przycisk:

Ukryta treść

Nie masz aktywnej subskrypcji. Wykup subskrypcję albo zaloguj się, by móc zobaczyć pełną lekcję.

Tekst, to to co znajduje się pomiędzy <button> a </button>. Nie należy tego mylić z tym co znajduje się w title – specjalnie tutaj dałam taki sam tekst, bo w praktyce często się tak zdarza. Po tytule umiecie już wyszukać, bo tytuł to nic innego jak atrybut. Natomiast to co znajduje się pomiędzy tagiem otwierającym i zamykającym będziemy rozumieli jako tekst.

Do wyszukiwania po tekście służy funkcja text(). Możemy ją również łączyć z funkcjami contains() oraz starts-with(). W takim przypadku postępujemy podobnie jak w przypadku atrybutów tylko zamiast atrybutu podajemy właśnie text().

Ukryta treść

Nie masz aktywnej subskrypcji. Wykup subskrypcję albo zaloguj się, by móc zobaczyć pełną lekcję.

W powyższych przykładach pierwszy XPath zaznaczy wszystkie elementy, których tekst jest dokładnie taki jak podany, czyli „Kliknij tutaj”. Drugi XPath zaznaczy wszystkie elementy, których tekst zawiera „tutaj”, a trzeci wszystkie elementy, których tekst zaczyna się od „Kliknij”.

Czy można to wszystko połączyć?

Można! To znaczy, że można użyć zarówno warunku dotyczącego tekstu (lub jego fragmentu) jak i warunku dotyczącego atrybutu (lub również jego fragmentu). Używamy do tego słówka and i kleimy razem to, co już znamy. Kilka przykładów zobaczysz poniżej.

.//h2[text()='Kupuj wg kategorii' and @class='section-title']
.//h2[text()='Kupuj wg kategorii' and contains(@class,'section-title')]
.//h2[starts-with(text(),'Kupuj') and contains(@class,'section-title')]

 

 

 

Reader Interactions

Komentarze

Nie masz aktywnej subskrypcji. Wykup subskrypcję albo zaloguj się, by móc komentować.

Pierwszy Sidebar

LEKCJE W KURSIE

  • Co to jest XPath i do czego służy
  • Atrybuty i tagi
  • Fragment atrybutu i szukanie po tekście
  • Zadanie: atrybuty, tagi i tekst
  • Dzieci i potomkowie
  • Rodzice, przodkowie i rodzeństwo
  • Pozycja
  • Zadanie: relacje
  • Negacja

Footer

Elzbieta Natalia Sadel
Av. de las Postas 21 6 C
29014 Málaga
Hiszpania
NIF: Y7882076J

Zostań trenerem!

Regulamin
Polityka prywatności
Polityka wsparcia w ramach członkostwa

Koszulki i torby dla testerów

Pomoc
Kontakt

Poskładane z 💛 przez Automatela.pl