Selenium w C# 13. Mechanizmy lokalizujące: szukanie po id, klasie, atrybucie name i nazwie taga

W tej lekcji poznasz pierwsze proste lokatory. Pokażę Ci szukanie po id elementu, jego klasie, atrybucie name oraz nazwie taga.

 

Szukanie po id, klasie, atrybucie name i nazwie taga: linki i materiały

Timeouty

W tej lekcji bardzo wstępnie pokazałam dwie właściwości, które pozwalają nam ustawić dwa timeouty. Pierwszy to timeout na załadowanie się strony, a drugi na załadowanie się elementu, czyli przez jaki czas driver ma odpytywać stronę o element, jeżeli nie znajdzie go od razu. Więcej na ten temat pojawi się w późniejszych lekcjach, na razie po prostu zaakceptuj to, co widzisz 😉

driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(5);
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(3);

Metody wyszukujące po atrybutach lub tagu

Metody, o których jest mowa w tej lekcji to:

  • Id(string id) – udostępnia mechanizm do wyszukiwania elementów po jego id;
  • ClassName(string nazwaKlasy) – udostępnia mechanizm do wyszukiwania elementów po nazwie jego klasy (atrybut class); co ważne, jako parametr tej metody można podać tylko pojedynczą klasę – więcej mówię o tym na filmie;
  • Name(string nazwa) – udostępnia mechanizm do wyszukiwania elementów po jego nazwie czyli po atrybucie name;
  • TagName(string nazwaTaga) – udostępnia mechanizm do wyszukiwania elementów po jego tagu;

Szukanie elementu w elemencie

W lekcji pokazuję także jak znając tylko powyższe lokatory poradzić sobie z sytuacją, gdy nie umiemy znaleźć unikatowego lokatora. Można skorzystać z faktu, że w Selenium możemy wyszukiwać elementów w innym elemencie. Oznacza to, że jeżeli potrafimy zbudować unikatowy lokator dla jakiegoś elementu, który znajduje się wyżej w hierarchii od tego, który nas interesuje, to potem w nim możemy użyć nieunikatowego lokatora. Dzieje się tak dlatego, ze mimo iż lokator naszego elementu nie jest unikatowy w kontekście całej strony, może być unikatowy w kontekście jego fragmentu, czyli innego elementu.

Dokumentacja Selenium i materiały

Metody wyjaśnione w dzisiejszej lekcji znajdują się w klasie By. Jeżeli nie jest dla Ciebie jasne co to jest atrybut w HTML i czym jest konsola deweloperska, zajrzyj do poprzedniej lekcji.

Możliwość komentowania została wyłączona.