Kritických 12 metod JavaScriptexExecor v selenu

V tomto segmentu tutoriálu budeme podrobně diskutovat o javascriptexecutor v selenu a všechny pravděpodobné operace lze provést pomocí javascriptexecutor v selenu, pokud jde o WebAutomation. 

Co je javascriptexecutor v selenu 

V knihovně Selenium javascriptexecutor je rozhraní, které se implementuje do několika tříd, jako je ChromeDriver, FirefoxDriver, RemoteWebDriver, EdgeDriver, EventFiringWebDriver, InternetExplorerDriver atd., Které podporují různé operace související s Javascriptem vůči příslušným ovladačům prohlížeče.

Exekutor JavaScript v selenu
Exekutor jazyka JavaScript v selenu

Typy Java Script v selenu a jeho metody: 

K dispozici jsou dva různé druhy metod JavaScriptu: 

Rozdíl mezi executeAsyncScript a executeScript:

vykonatAsyncScript  : Tento typ prováděcího programu skriptu Java se používá k provedení asynchronního kódu JavaScript v kontextu aktuálně vybraného rámce nebo okna.

executeScript: Tento typ Java scriptexecutoru, který v podstatě provádí synchronní kód JavaScript v kontextu aktuálně vybraného rámce nebo okna. 

 

Operace, kterou lze provést pomocí javascriptového exekutora v selenu: 

Existuje mnoho zásadních webových operací, kterých je dosaženo spuštěním Javascript v ovladači prohlížeče k dosažení určité operace, například: 

Pojďme diskutovat o všech výše zmíněných operacích: 

Kliknutí na selenový javascript 

Můžeme provést operaci kliknutí v selenu pomocí operace Javascript v níže uvedeném přístupu: 

public void jsClick() { WebElement element = driver.findElement(By.xpath("Xpath_OF_Element")); JavascriptExecutor jscriptExecutor = (JavascriptExecutor) ovladač; jscriptExecutor.executeScript("argumenty[0].click();", prvek); }

Selen Javascript zadejte text

Můžeme provést operaci sendkeys v selenu pomocí operace Javascript v níže uvedeném přístupu: 

public void jsSendKeys() { JavascriptExecutor jscriptExecutor = (JavascriptExecutor) ovladač; jscriptExecutor.executeScript("document.getElementById('id_of_the_element').value='ENTER_THE_TEXT_HERE';"); }

Zaškrtávací políčko selenový javascript 

Mohli bychom použít volbu kontrolovány= true nebo false v závislosti na případech použití k provedení operací CheckBox s Javascriptem v selenu.

public void jsCheckBoxOps() { JavascriptExecutor jscriptExecutor = (JavascriptExecutor) ovladač; jscriptExecutor.executeScript("document.getElementById('id_of_the_element').checked=false;"); }

Selenium javascript Generování výstrah

K vygenerování výstrahy musíme použít „alert ('ALERT_TEXT_TO_BE_SHOWN');„Při provádění operace pomocí Javascript.

public void jsAlertGeneration() { JavascriptExecutor jscriptExecutor= ovladač (JavascriptExecutor); jscriptExecutor.executeScript("alert('ALERT_TEXT_TO_BE_SHOWN');"); }

Obnovovací stránka selenového javascript

K obnovení webové stránky v selenu pomocí Javascriptového exekutora můžeme použít history.go (0).

public void jsRefreshPage() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) ovladač; jscriptExecutor.executeScript("history.go(0)"); }

Selenový javascript pro získání vnitřního textu Webové stránky

K načtení celého vnitřního textu můžeme použít document.documentElement.innerText;

public String jsFetchInnerText() { JavascriptExecutor jscriptExecutor= ovladač (JavascriptExecutor); return String.valueOf(jscriptExecutor.executeScript("return document.documentElement.innerText;")); }

Selenový javascript získá název stránky 

K vrácení názvu stránky můžeme použít název dokumentu; spolu s Javascript Exekutorem v selenu.

public String jsWebPageTitle() { JavascriptExecutor jscriptExecutor= ovladač (JavascriptExecutor); return String.valueOf(jscriptExecutor.executeScript("return document.title;")); }

Selenový javascript k získání domény 

K vytažení názvu domény můžeme použít dokument.doména;

public String jsFetchDomain() { JavascriptExecutor jscriptExecutor= ovladač (JavascriptExecutor); return String.valueOf(jscriptExecutor.executeScript("return document.domain;")); }

Selenový javascript k získání adresy URL webové stránky

 

K načtení adresy URL pomocí programu JavaScript Executor se selenem bychom mohli použít dokument.URL;

public String jsFetchURL() { JavascriptExecutor jscriptExecutor= ovladač (JavascriptExecutor); return String.valueOf(jscriptExecutor.executeScript("return document.URL;")); }

Selenový javascript Rolování webové stránky 

Můžeme provádět posouvání několika způsoby pomocí Javascript, dva z přístupů jsou uvedeny níže ve fragmentu kódu, například:

public void scrollIntoView(By locator) { try { JavascriptExecutor executor = (JavascriptExecutor) driver; Element WebElement = driver.findElement(locator); executor.executeScript("arguments[0].scrollIntoView(true);", prvek); BASE_LOGGER .info("pro lokátor byla provedena operace scrollIntoView: " + String.valueOf(element)); } catch (Výjimka e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Došlo k chybě, tj.: " + exceptionData + " při provádění scrollIntoView na prvku: " + lokátor); } }

Můžeme také určit hodnotu posouvání (množství posouvání), jako je tento přístup níže:

public void jsScroll() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) ovladač; jscriptExecutor.executeScript("window.scrollBy(0,1000)"); }

Selenový javascript pro přechod na jinou stránku

Můžeme přejít na jinou webovou stránku / obrazovku přímým poskytnutím umístění adresy URL v rámci javascriptexecutor v selenu. 

public void pageNavigationWithJS() { JavascriptExecutor jscriptExecutor= ovladač (JavascriptExecutor); jscriptExecutor.executeScript("window.location = 'PageURL_To_Navigate'"); }

Selenový javascript Chcete-li najít skrytý prvek a kliknout na něj

Mohli bychom přímo kliknout na skrytý prvek pomocí Javascript z backendu, i když prvek není viditelný, zde je fragment kódu pro stejný:

public void clickOnHiddenElement() { JavascriptExecutor jscriptExecutor= ovladač (JavascriptExecutor); WebElement hiddenElement=driver.findElement(By.id("ID_OF_ELEMENT")); jscriptExecutor.executeScript("argumenty[0].click();", hiddenElement); }

Závěr:

Dosud jsme diskutovali o Javascriptu a různých operacích, které je třeba provést pomocí Javascriptového exekutora v Selenium, doporučujeme vám projít si celý výukový program selenu získat lepší přilnavost ke všem jeho různým aspektům. V připravované sérii Segmenty výuky si povíme více o Automatizace selenu Framework a další nejnovější technologie pro práci se selenem a pro prolomte jakýkoli pokročilý rozhovor v selenu, který můžete projít zde.

Zanechat komentář