Heim  >  Artikel  >  Java  >  Wie führe ich JavaScript-Code von Java WebDriver aus?

Wie führe ich JavaScript-Code von Java WebDriver aus?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-25 04:50:29583Durchsuche

How do I Execute JavaScript code from Java WebDriver?

Ausführen von WebDriver-JavaScript aus Java: Eine erweiterte Anleitung

Der in der Frage erwähnte Befehl ./go webdriverjs ist ein Shell-Befehl, der entwickelt wurde um die WebDriverJs-Umgebung in einem bestimmten Ordner einzurichten und zu initialisieren. Es ist jedoch wichtig zu beachten, dass es sich bei WebDriverJs um eine Sprachbindung handelt, die JavaScript-Tests ermöglicht, anstatt JavaScript-Snippets aus Java auszuführen.

Um JavaScript-Code in Java WebDriver auszuführen, verwenden Sie den folgenden Ansatz:

<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>

Alternativ können Sie Folgendes in Betracht ziehen:

<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>

Der JavascriptExecutor bietet umfangreiche Dokumentation und Funktionen. In der MethodeexecuteScript() können Sie Funktionsaufrufe, rohes JS ausführen, Werte zurückgeben und komplexe Argumente übergeben.

Beispiele:

  1. Abrufen eines WebElements wie in drivers.findElement( By.id("someId")):
<code class="java">js.executeScript("return document.getElementById('someId');");</code>
  1. Visualisierung des Randes eines WebElements:
<code class="java">WebElement element = driver.findElement(By.anything("tada"));
js.executeScript("arguments[0].style.border='3px solid red'", element);</code>
  1. Ändern von Seiteneingaben in Radio Tasten:
<code class="java">js.executeScript(
         "var inputs = document.getElementsByTagName('input');" +
         "for(var i = 0; i < inputs.length; i++) { " +
         "    inputs[i].type = 'radio';" +
         "}" );</code>

Das obige ist der detaillierte Inhalt vonWie führe ich JavaScript-Code von Java WebDriver aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn