• 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 9. Negacja

Strona główna > Kursy > XPath dla testerów > XPath 9. Negacja

W tej lekcji, jako bonus, pojawi się funkcja not, a więc negacja w XPath. Pokażę Ci kilka przykładowych zastosowań tej funkcji do zaznaczania elementów na stronie w Selenium.

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

Negacja w XPath: linki i materiały

Negacja w XPath przydaje się, gdy nie wiemy czego chcemy (albo nie możemy się posłużyć takim XPathem, bo wskazuje kilka elementów zamiast jednego), ale wiemy czego nie chcemy. Za pomocą funkcji not możemy zaprzeczać różnym warunkom i kilka z nich zobaczysz w tej lekcji.

Atrybut

Za pomocą funkcji not możemy np. wyszukać taki element, którego dany atrybut, np. klasa, nie jest równy podanej przez nas wartości.

Ukryta treść

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

Powyższy XPath zrobi właśnie coś takiego: znajdzie nam takie elementy o tagu td, których klasa nie jest równa product-remove.

Możemy także znaleźć takie elementy, które podanego atrybutu w ogóle nie mają.

Ukryta treść

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

Powyższy XPath zatem zaznaczy nam takie elementy o tagu td, które nie mają atrybutu class.

Możemy także zbudować XPatha zarówno w oparciu o funkcję not jak i dorzucić do niego jeszcze jakąś inną funkcję. Chcąc np. zaznaczyć takie elementy o tagu td, których klasa nie zawiera product, musimy się także posłużyć funkcją contains. W takim wypadku nasz XPath będzie wyglądał jak poniżej.

Ukryta treść

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

Tagi

Trochę podchwytliwy jest przykład, jeżeli chodzi o negacj ę taga, czyli sytuację, kiedy np. chcemy zaznaczyć wszystkie elementy, które mają tag inny niż td. Podchwytliwy, bo pewnie jakbyście mieli teraz zgadywać jakby to wyglądało, to zgadlibyście coś takiego:

Ukryta treść

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

No ale właśnie nie, trzeba użyć czegoś, czego jeszcze nie widzieliśmy w tym kursie.

Ukryta treść

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

Czyli zaznaczmy jakby wszystkie elementy, a dopiero potem mówimy: ale nie takie, które są o tagu td. 

W ogóle w ramach ciekawostki: .//*[self::td] zaznaczy nam to samo co .//td

Pozycja i jeszcze jeden rodzaj zaprzeczenia

Spójrz na poniższy XPath.

Ukryta treść

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

Funkcji position możemy używać nie tylko ze znakami większości i mniejszości ale także tak jak widzisz na powyższym przykładzie. Taki XPath zaznaczy nam wszystkie elementy td, które nie są pierwszymi dziećmi o tym tagu swojego rodzica.

W tym przypadku możemy jednak zaznaczyć te same elementy w jeszcze jeden sposób.

Ukryta treść

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

Czyli zamiast używać funkcji not możemy użyć != do uzyskania takiego samego efektu.

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
Calle Marzo 9 1 D
41009 Sevilla
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

Ta strona korzysta z ciasteczek aby świadczyć usługi na najwyższym poziomie. Dalsze korzystanie ze strony oznacza, że zgadzasz się na ich użycie.ZgodaNie wyrażam zgodyPolityka prywatności