Heim  >  Artikel  >  Java  >  Wie kann ich JavaScript-Code im Selenium WebDriver von Java ausführen?

Wie kann ich JavaScript-Code im Selenium WebDriver von Java ausführen?

Susan Sarandon
Susan SarandonOriginal
2024-10-24 21:23:29309Durchsuche

How can I execute JavaScript code within Java's Selenium WebDriver?

JavaScript mit Selenium WebDriver Java verwenden

Sie sind daran interessiert, JavaScript mit WebDriver (Selenium 2) über Java zu nutzen.

Speicherort der Befehlsausführung

Der von Ihnen genannte Befehl „$ ./go webdriverjs“ sollte aus dem Verzeichnis ausgeführt werden, in dem sich das WebDriverJs-Projekt befindet.

JavaScript in WebDriver integrieren

Beachten Sie jedoch, dass WebDriverJs eine separate Sprachbindung für WebDriver ist, die die Testerstellung in JavaScript ermöglicht. Um JavaScript in Javas WebDriver auszuführen, befolgen Sie diese Schritte:

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

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

Die MethodeexecuteScript() akzeptiert sowohl Funktionsaufrufe als auch einfachen JavaScript-Code. Es bietet die Möglichkeit, Werte zurückzugeben und komplexe Argumente zu übergeben, wie in diesen Beispielen gezeigt:

  1. Ein WebElement zurückgeben:
<code class="java">js.executeScript("return document.getElementById('someId');");</code>
  1. Einen Rahmen hinzufügen ein WebElement:
<code class="java">WebElement element = driver.findElement(By.anything("tada"));
js.executeScript("arguments[0].style.border='3px solid red'", element);</code>
  1. Eingabeelemente in Optionsfelder ändern:
<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 kann ich JavaScript-Code im Selenium WebDriver von Java ausführen?. 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