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 :
<code class="java">js.executeScript("return document.getElementById('someId');");</code>
<code class="java">WebElement element = driver.findElement(By.anything("tada")); js.executeScript("arguments[0].style.border='3px solid red'", element);</code>
<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!