Nowe okno lub karta w Selenium 4

Interesuje Cię ten kurs?

Zapisz się na listę, a wyślę Ci szczegóły i informację jak dołączyć 👇 

W Selenium 4 możemy otworzyć nową kartę lub okno “na żądanie”. Do tej pory nie było takiej możliwości w Selenium. Sytuację, w której mamy otwartą więcej niż jedną kartę mogliśmy osiągnąć poprzez kliknięcie na link, który się otwiera w nowym oknie albo karcie. Ewentualnie mogliśmy to też zrobić za pomocą JavaScriptu.

W ramach przypomnienia lekcje na temat przełączania między oknami i kartami: JavaC#.

Jak było dotychczas

Mimo, że dla nas “okno” i “karta” (tab) znaczy coś innego, Selenium obie te rzeczy do tej pory “rozumiało” tak samo. Chodzi mi tutaj np. o metodę getWindowHandle() (właściwość WindowHandles w C#) lub switchTo().window() (SwitchTo().Window() w C#). Mimo, że jak widzisz w nazwie metod mamy jak byk “window”, to rozumieliśmy przez to także kartę. 

Dodatkowo mogliśmy się jedynie przełączać na już otwarte karty czy okna, nie mogliśmy ich jednak otworzyć na żądanie.

Jak jest w Selenium 4

Teraz możemy po prostu otworzyć nowe okno za pomocą nowej metody. Możemy też określić czy chcemy, żeby nowo otwarte okno było osobnym oknem czy może kartą.

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.

Jak widzisz powyższa kombinacja jednocześnie utworzy nowe okno i przełączy drivera w kontekst tego nowego okna.

Do przełączenia się z powrotem na pierwsze okno, możemy skorzystać z dotychczasowych metod (więcej o tych metodach znajdziesz w podlinkowanych wyżej lekcjach):

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.