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

Susan Sarandon
リリース: 2024-10-24 21:23:29
オリジナル
387 人が閲覧しました

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

Selenium WebDriver Java で JavaScript を使用する

あなたは、Java を介して WebDriver (Selenium 2) で JavaScript を利用することに興味があります。

コマンドの実行場所

参照したコマンド「$ ./go webdriverjs」は、WebDriverJs プロジェクトが配置されているディレクトリから実行する必要があります。

WebDriver への JavaScript の統合

ただし、WebDriverJs は WebDriver の別の言語バインディングであり、JavaScript でのテスト作成が可能であることに注意してください。 Java の WebDriver 内で JavaScript を実行するには、次の手順に従います。

<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>
ログイン後にコピー

または、

<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>
ログイン後にコピー

executeScript() メソッドは、関数呼び出しとプレーン JavaScript コードの両方を受け入れます。次の例に示すように、値を返し、複雑な引数を渡す機能を提供します。

  1. WebElement を返す:
<code class="java">js.executeScript("return document.getElementById('someId');");</code>
ログイン後にコピー
  1. 境界線を追加するWebElement:
<code class="java">WebElement element = driver.findElement(By.anything("tada"));
js.executeScript("arguments[0].style.border='3px solid red'", element);</code>
ログイン後にコピー
  1. 入力要素をラジオ ボタンに変更します:
<code class="java">js.executeScript(
         "var inputs = document.getElementsByTagName('input');" +
         "for(var i = 0; i < inputs.length; i++) { " +
         "    inputs[i].type = 'radio';" +
         "}" );</code>
ログイン後にコピー

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート