Maison  >  Article  >  Java  >  Comment exécuter du code JavaScript à partir de Java WebDriver ?

Comment exécuter du code JavaScript à partir de Java WebDriver ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-25 04:50:29584parcourir

How do I Execute JavaScript code from Java WebDriver?

Exécuter WebDriver JavaScript à partir de Java : un guide amélioré

La commande mentionnée dans la question, ./go webdriverjs, est une commande shell conçue pour configurer et initialiser l'environnement WebDriverJs dans un dossier spécifique. Cependant, il est important de noter que WebDriverJs est une liaison de langage qui permet des tests JavaScript plutôt que d'exécuter des extraits JavaScript à partir de Java.

Pour exécuter du code JavaScript dans Java WebDriver, utilisez l'approche suivante :

<code class="java">WebDriver driver = new AnyDriverYouWant();
if (driver instanceof JavascriptExecutor) {
    ((JavascriptExecutor)driver).executeScript("yourScript();");
} else {
    throw new IllegalStateException("This driver does not support JavaScript!");
}</code>

Vous pouvez également considérer :

<code class="java">WebDriver driver = new AnyDriverYouWant();
JavascriptExecutor js;
if (driver instanceof JavascriptExecutor) {
    js = (JavascriptExecutor)driver;
} // else throw...

// later on...
js.executeScript("return document.getElementById('someId');");</code>

JavascriptExecutor offre une documentation et des fonctionnalités étendues. Dans sa méthode executeScript(), vous pouvez exécuter des appels de fonction, du JS brut, renvoyer des valeurs et transmettre des arguments complexes.

Exemples :

  1. Récupérer un WebElement comme dans driver.findElement( By.id("someId") :
<code class="java">js.executeScript("return document.getElementById('someId');");</code>
  1. Visualisation de la bordure d'un WebElement :
<code class="java">WebElement element = driver.findElement(By.anything("tada"));
js.executeScript("arguments[0].style.border='3px solid red'", element);</code>
  1. Modification des entrées de page vers la radio boutons :
<code class="java">js.executeScript(
         "var inputs = document.getElementsByTagName('input');" +
         "for(var i = 0; i < inputs.length; i++) { " +
         "    inputs[i].type = 'radio';" +
         "}" );</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn