ホームページ >Java >&#&チュートリアル >Java で WebDriver を使用して JavaScript コードを実行するにはどうすればよいですか?
Java の WebDriver を使用した JavaScript の実行
Java を使用して JavaScript を WebDriver (Selenium 2) と統合すると、強化されたテスト機能が提供されます。 「はじめに」ページに記載されているガイドラインに従って、「./go webdriverjs」コマンドをどの場所から実行するかを理解することが重要です。
答え:
実行「./go webdriverjs」コマンドは、特定のフォルダーから実行する必要はありません。このコマンドは通常、JavaScript でテストを作成できる WebDriver の追加言語バインディングである WebDriverJs を使用して JavaScript テストを実行する場合に使用されます。
ただし、目的が Java の 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>
または、後で使用するために JavascriptExecutor を変数に割り当てることもできます:
<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()このメソッドは関数呼び出しと生の JS を受け入れ、Web 要素を操作してページを操作できるようにします。例:
ID で要素を検索:
<code class="java">js.executeScript("return document.getElementById('someId');");</code>
要素に境界線を追加する要素:
<code class="java">WebElement element = driver.findElement(By.anything("tada")); js.executeScript("arguments[0].style.border='3px solid red'", element);</code>
すべての入力要素をラジオ ボタンに変更します:
<code class="java">js.executeScript( "var inputs = document.getElementsByTagName('input');" + "for(var i = 0; i < inputs.length; i++) { " + " inputs[i].type = 'radio';" + "}" );</code>
以上がJava で WebDriver を使用して JavaScript コードを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。