Maison  >  Article  >  Java  >  Comment exécuter du code JavaScript avec WebDriver en Java ?

Comment exécuter du code JavaScript avec WebDriver en Java ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-24 18:46:21894parcourir

How to Execute JavaScript Code with WebDriver in Java?

Exécuter JavaScript avec WebDriver en Java

L'intégration de JavaScript avec WebDriver (Selenium 2) à l'aide de Java offre des capacités de test améliorées. En suivant les instructions fournies sur la page de démarrage, il est important de comprendre à partir de quel emplacement la commande "./go webdriverjs" doit être exécutée.

Réponse :

L'exécution de la commande "./go webdriverjs" ne nécessite pas d'être exécuté à partir d'un dossier spécifique. Cette commande est généralement utilisée lorsque vous souhaitez exécuter des tests JavaScript à l'aide de WebDriverJs, une liaison de langage supplémentaire pour WebDriver qui permet d'écrire des tests en JavaScript.

Cependant, si votre objectif est d'exécuter du code JavaScript à partir de WebDriver de Java, le l’approche diffère. Pour exécuter des extraits de code JavaScript dans votre code Java WebDriver, utilisez ce qui suit :

<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 attribuer JavascriptExecutor à une variable pour une utilisation ultérieure :

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

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

ExecuteScript() La méthode accepte les appels de fonction et le JS brut, vous permettant de manipuler des éléments Web et d'interagir avec la page. Par exemple :

  • Rechercher un élément par ID :

    <code class="java">js.executeScript("return document.getElementById('someId');");</code>
  • Ajouter une bordure à un élément :

    <code class="java">WebElement element = driver.findElement(By.anything("tada"));
    js.executeScript("arguments[0].style.border='3px solid red'", element);</code>
  • Changez tous les éléments d'entrée en boutons radio :

    <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