ホームページ  >  記事  >  Java  >  Selenium WebDriver Java で JavaScript コードを実行するにはどうすればよいですか?

Selenium WebDriver Java で JavaScript コードを実行するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-25 03:41:29218ブラウズ

How do I execute JavaScript code in Selenium WebDriver Java?

Selenium WebDriver Java での JavaScript の使用

質問:

コマンドの実行について言及しました。ガイドの /go webdriverjs 。このコマンドはどのフォルダー/場所から実行する必要がありますか?

答え:

./go webdriverjs コマンドは、Selenium WebDriver Java での JavaScript の使用とは無関係です。これは、別の WebDriver 言語バインディング、つまり JavaScript に使用されます。

Java WebDriver での JavaScript の使用

Java WebDriver で JavaScript コードを実行するには、JavaScriptExecutor を使用する必要があります。クラス。その方法は次のとおりです。

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

このexecuteScript() メソッドは関数呼び出しと生の JS を受け取り、Web ページ上でさまざまなアクションを実行できるようにします。以下にいくつかの例を示します。

  • 特定の WebElement を返します:

    <code class="java">WebElement element = (WebElement) ((JavascriptExecutor) driver).executeScript("return document.getElementById('someId');");</code>
  • 要素の周囲に境界線を描画します:

    <code class="java">WebElement element = driver.findElement(By.id("someId"));
    ((JavascriptExecutor) driver).executeScript("arguments[0].style.border='3px solid red'", element);</code>
  • すべての入力要素をラジオ ボタンに変更します:

    <code class="java">((JavascriptExecutor) driver).executeScript(
           "var inputs = document.getElementsByTagName('input');" +
           "for(var i = 0; i < inputs.length; i++) { " +
           "    inputs[i].type = 'radio';" +
           "}" );</code>

これは、Java WebDriver で JavaScript コードを使用して Web ページと対話し、実行する方法を示します。高度なアクション。

以上がSelenium WebDriver Java で JavaScript コードを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。