Kritikus 12 javascript végrehajtó módszer a szelénben

Az oktatóanyag ebben a szegmensében részletesen tárgyaljuk a javascriptexecutort szelénben, és az összes valószínű művelet végrehajtható a szelénben lévő javascriptexecutor használatával a WebAutomation szempontjából. 

Mi a javascriptexecutor a szelénben 

A Selenium Library-ben a javascriptexecutor egy olyan interfész, amelyet számos osztály, például ChromeDriver, FirefoxDriver, RemoteWebDriver, EdgeDriver, EventFiringWebDriver, InternetExplorerDriver stb. implementál, hogy támogassa a különböző Javascript-hez kapcsolódó műveleteket a megfelelő böngésző-illesztőprogramok felé.

JavaScriptExecutor a szelénben
JavaScript végrehajtó a szelénben

A Java Script típusai a szelénben és módszerei: 

Kétféle JavaScript metódus áll rendelkezésre: 

Az executeAsyncScript és az executeScript közötti különbség:

futtassa az AsyncScriptet  : Ez a típusú java szkript végrehajtó egy aszinkron JavaScript kód végrehajtására szolgál az aktuálisan kiválasztott keret vagy ablak kontextusában.

executeScript: Ez a típusú Java script végrehajtó, amely alapvetően szinkron JavaScript kódot hajt végre az aktuálisan kiválasztott keret vagy ablak kontextusában. 

 

Művelet, amelyet a szelénben lévő javascript végrehajtóval lehet végrehajtani: 

Különféle kulcsfontosságú webes műveletek érhetők el a Javascript futtatásával a böngésző-illesztőprogramban bizonyos műveletek elérése érdekében, például: 

Beszéljük meg az összes fent említett műveletet: 

Szelén javascript kattintás 

Kattintási műveletet hajthatunk végre a Seleniumban Javascript művelettel az alábbi megközelítésben: 

public void jsClick() { WebElement elem = driver.findElement(By.xpath("Xpath_OF_Element")); JavascriptExecutor jscriptExecutor = (JavascriptExecutor) illesztőprogram; jscriptExecutor.executeScript("argumentumok[0].click();", elem); }

Szelén javascript írjon be szöveget

A Seleniumban a sendkeys műveletet Javascript művelettel hajthatjuk végre az alábbi megközelítésben: 

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

Szelén javascript jelölőnégyzet 

Használhatnánk az opciót ellenőrzött=igaz vagy hamis, attól függően, hogy a CheckBox-műveleteket milyen Javascript-szel kell végrehajtani a Seleniumban.

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

Szelén javascript riasztás generálása

A riasztás generálásához a „alert('ALERT_TEXT_TO_BE_SHOWN');” a művelet végrehajtása közben a Javascript segítségével.

public void jsAlertGeneration() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) illesztőprogram; jscriptExecutor.executeScript("alert('ALERT_TEXT_TO_BE_SHOWN');"); }

Szelén javascript frissítő oldal

Egy weboldal frissítéséhez a Seleniumban a Javascript Executor segítségével használhatjuk history.go(0).

public void jsRefreshPage() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) illesztőprogram; jscriptExecutor.executeScript("history.go(0)"); }

Szelén javascript a weboldal belső szövegének lekéréséhez

A teljes belső szöveg lekéréséhez használhatjuk document.documentElement.innerText;

public String jsFetchInnerText() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) illesztőprogram; return String.valueOf(jscriptExecutor.executeScript("return document.documentElement.innerText;")); }

Szelén javascript kapja meg az oldal címét 

Egy oldal címének visszaadásához használhatjuk dokumentum címe; a Javascript Executorral együtt a Seleniumban.

public String jsWebPageTitle() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) illesztőprogram; return String.valueOf(jscriptExecutor.executeScript("return document.title;")); }

Szelén javascript a domain beszerzéséhez 

A domain név lehúzásához használhatjuk document.domain;

public String jsFetchDomain() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) illesztőprogram; return String.valueOf(jscriptExecutor.executeScript("return document.domain;")); }

Szelén javascript egy weboldal URL-címének lekéréséhez

 

Az URL lekéréséhez a JavaScript Executor és a Selenium segítségével használhatjuk dokumentum.URL;

public String jsFetchURL() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) illesztőprogram; return String.valueOf(jscriptExecutor.executeScript("return document.URL;")); }

Szelén javascript Weboldal görgetése 

A görgetést többféleképpen hajthatjuk végre a Javascript használatával, két megközelítés látható alább a kódrészletben, például:

public void scrollIntoView(By locator) { try { JavascriptExecutor executor = (JavascriptExecutor) illesztőprogram; WebElement elem = driver.findElement(locator); executor.executeScript("argumentumok[0].scrollIntoView(true);", elem); BASE_LOGGER .info("scrollIntoView művelet végrehajtásra került a lokátorhoz : " + String.valueOf(elem)); } catch (e kivétel) { String kivételData = e.getCause().getMessage(); BASE_LOGGER.error("Hiba történt pl.: " + kivételData + " a scrollIntoView végrehajtásakor a következő elemen: " + locator); } }

A görgetési értéket (a görgetés mennyiségét) is megadhatjuk az alábbi megközelítés szerint:

public void jsScroll() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) illesztőprogram; jscriptExecutor.executeScript("window.scrollBy(0,1000)"); }

Szelén javascript, hogy egy másik oldalra navigáljon

Egy másik weboldalra/képernyőre navigálhatunk, ha közvetlenül megadjuk az URL-címet a Selenium javascript-végrehajtójában. 

public void pageNavigationWithJS() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) illesztőprogram; jscriptExecutor.executeScript("window.location = 'PageURL_To_Navigate'"); }

Szelén javascript Rejtett elem megkeresése és rákattintása

A rejtett elemre közvetlenül rákattinthatunk a Javascript segítségével a háttérből, még akkor is, ha az elem nem látható, itt van a kódrészlet ehhez:

public void clickOnHiddenElement() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) illesztőprogram; WebElement hiddenElement=illesztőprogram.findElement(By.id("ELEM_azonosítója")); jscriptExecutor.executeScript("arguments[0].click();", hiddenElement); }

Következtetés:

Eddig megbeszéltük a Javascriptet és a Selenium Javascript végrehajtójával végrehajtandó különféle műveleteket, érdemes végignézni a teljes Selenium bemutató hogy jobban átláthassuk ugyanannak az összes különböző aspektusát. A következő Segments of Tutorial sorozatban többet fogunk megvitatni a Szelén automatizálás Keretrendszer és egyéb legújabb technológiák a Seleniummal való együttműködéshez, és minden haladó szelén interjút, amelyet itt át tudsz menni.

Írj hozzászólást

E-mail címed nem kerül nyilvánosságra. Kötelező kitölteni *

Lapozzon a lap tetejére