Critical 12 méthodes javascriptexecutor dans le sélénium

Dans ce segment du tutoriel, nous allons discuter de javascriptexecutor dans le sélénium de manière détaillée et toutes les opérations probables pourraient être effectuées à l'aide de javascriptexecutor dans le sélénium en termes de WebAutomation. 

Qu'est-ce que javascriptexecutor dans le sélénium 

Dans la bibliothèque Selenium, javascriptexecutor est une interface qui est implémentée plusieurs classes telles que ChromeDriver, FirefoxDriver, RemoteWebDriver, EdgeDriver, EventFiringWebDriver, InternetExplorerDriver, etc. pour prendre en charge différentes opérations liées à Javascript vers les pilotes de navigateur respectifs.

JavaScriptExecutor dans Selenium
JavaScript Executor dans Selenium

Types de script Java dans Selenium et ses méthodes: 

Il existe deux types de méthodes JavaScript disponibles: 

Différence entre executeAsyncScript et executeScript:

exécuterAsyncScript  : Ce type d'exécuteur de script java est utilisé pour exécuter un code JavaScript asynchrone dans le contexte du cadre ou de la fenêtre actuellement sélectionné.

executeScript: Ce type de script Java Script qui exécute essentiellement du code JavaScript synchrone dans le contexte du cadre ou de la fenêtre actuellement sélectionné. 

 

Opération qui pourrait être effectuée à l'aide de l'exécuteur javascript en sélénium: 

Il existe diverses opérations Web cruciales qui sont effectuées en exécutant Javascript dans le pilote du navigateur pour réaliser certaines opérations telles que: 

Permet de discuter de toutes les opérations mentionnées ci-dessus: 

Clic javascript sélénium 

Nous pouvons effectuer une opération de clic dans Selenium avec une opération Javascript dans l'approche ci-dessous: 

public void jsClick() { élément WebElement = driver.findElement(By.xpath("Xpath_OF_Element")); JavascriptExecutor jscriptExecutor = (JavascriptExecutor) pilote ; jscriptExecutor.executeScript("arguments[0].click();", element); }

Selenium javascript entrer du texte

Nous pouvons effectuer l'opération sendkeys dans Selenium avec l'opération Javascript dans l'approche ci-dessous: 

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

Case à cocher Selenium javascript 

Nous pourrions utiliser l'option vérifié= true ou false selon les cas d'utilisation pour effectuer les opérations CheckBox avec Javascript dans Selenium.

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

Génération d'alertes javascript Selenium

Pour générer l'alerte, nous devons utiliser "alert ('ALERT_TEXT_TO_BE_SHOWN');”Lors de l'exécution de l'opération avec Javascript.

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

Page d'actualisation de Selenium javascript

Pour actualiser une page Web dans Selenium avec Javascript Executor, nous pouvons utiliser history.go (0).

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

Selenium javascript pour obtenir le texte interne de WebPage

Pour récupérer tout le texte intérieur, nous pouvons utiliser document.documentElement.innerText;

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

Selenium javascript obtenir le titre de la page 

Pour renvoyer le titre d'une page, nous pouvons utiliser titre du document; avec Javascript Executor dans Selenium.

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

Selenium javascript pour obtenir le domaine 

Pour extraire le nom de domaine, nous pouvons utiliser document.domaine;

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

Selenium javascript pour obtenir l'URL d'une page Web

 

Pour récupérer l'URL à l'aide de JavaScript Executor avec Selenium, nous pourrions utiliser document.URL;

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

Selenium javascript Faire défiler une page Web 

Nous pouvons effectuer le défilement de plusieurs façons en utilisant Javascript, deux des approches sont présentées ci-dessous dans l'extrait de code, telles que:

public void scrollIntoView(By locator) { try { JavascriptExecutor executor = (JavascriptExecutor) driver; Élément WebElement = driver.findElement(locator); executor.executeScript("arguments[0].scrollIntoView(true);", element); BASE_LOGGER .info("l'opération scrollIntoView a été effectuée pour le localisateur : " + String.valueOf(element)); } catch (Exception e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Erreur rencontrée ie : " + exceptionData + " lors de l'exécution de scrollIntoView sur l'élément : " + locator); } }

Nous pouvons également spécifier la valeur de défilement (quantité de défilement) comme suit l'approche ci-dessous:

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

Selenium javascript pour accéder à une autre page

Nous pouvons naviguer vers une page Web / un écran différent en fournissant directement l'emplacement de l'url dans le javascriptexecutor dans Selenium. 

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

Selenium javascript Pour rechercher et cliquer sur un élément caché

Nous pourrions directement cliquer sur l'élément caché avec le Javascript depuis le backend même si l'élément n'est pas visible, voici l'extrait de code pour le même:

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

Conclusion:

Nous avons jusqu'à présent discuté du Javascript et des différentes opérations à effectuer à l'aide de l'exécuteur Javascript dans Selenium, nous vous encourageons à passer par le tutoriel complet sur Selenium pour avoir une meilleure prise sur tous les différents aspects de la même chose. Dans les prochains segments de la série de tutoriels, nous aborderons plus en détail Automatisation au sélénium Framework et autres technologies les plus récentes pour travailler avec Selenium et pour craquez toute interview avancée dans Selenium que vous pouvez passer ici.

Laisser un commentaire