Zapisy otwarte! Dołącz do kursu Selenium w Javie lub Selenium w C#. Tylko do 23.09.2021 do godz. 21:00. Zapisz się tutaj.

Selenium 44. Wykonywanie JavaScriptów

W tej lekcji pokażę Ci jak można wykonywać skrypty JavaScript w Selenium i do czego mogą się przydać.


Używanie JavaScriptów w Selenium to nasza ostatnia nadzieja w przypadku, gdy brakuje nam w Selenium metody do wykonania jakiejś akcji na stronie. Więcej o tym dlaczego, w miarę możliwości, należy unikać takiego rozwiązania, zobaczysz na filmie.

Selenium dostarcza dwie metody służące do wykonywania JavaScriptów. Jedna służy do wykonywania JavaScriptów w bardziej intuicyjnym dla osób pracujących w Javie trybie. Druga natomiast służy do uruchamiania JavaScriptów asynchronicznie. Co to oznacza oraz jak i kiedy używać tej drugiej metody zobaczysz na przykładach w filmie.

Dokumentację do metod omówionych w tej lekcji znajdziesz tutaj: Interface JavaScriptExecutor.

Wsparcie merytoryczne

Nie masz dostępu do wsparcia merytorycznego dla tego kursu. Wykup dostęp albo zaloguj się, by móc zadawać pytania.

  1. Witaj Elu 🙂
    Mam pytanie co do jednej rzeczy.
    Powiedziałaś, że problemem przy JavascriptExecutor'ze jest fakt, że kiedy używamy arguments[0] polecenia grupują się w kontenerze, co może powodować utrudnienia.(Tak przynajmniej to zrozumiałem 🙂 )
    A co jeśli zamiast arguments[0] użyję kodu JS z lokatorem ? Np. document.querySelector(xyz).click()
    Mogę go wtedy spokojnie używać bez obaw że się będzie krzaczyć ?

    Odpowiedz
    • Mam na myśli to o czym Mówisz od 03:40. Być może sobie trochę dopowiedziałem ale zrozumiałem to trochę w taki sposób, że problemem z JavaScriptem jest m.in to że używamy go przede wszystkim za pomocą kodu arguments[0]. Pomyślałem też, że system może tracić rozeznanie wobec wielu poleceń wykonywanych za pomocą arguments[0]. JavaScript to dla mnie zupełnie obcy język i być może moje pytanie jest zwyczajnie głupie 😀 Jednak lepiej zapytać niż potem źle działać 🙂

      Odpowiedz