JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

SeleniumでJavaScriptコードの戻り値を取得する方法


Selenium WebDriverを使用すると、JavaScriptコードの戻り値を取得することができます。SeleniumはexecuteScriptメソッドを利用してJavaScriptコマンドを実行でき、実行したいJavaScriptコマンドはこのメソッドの引数として渡します。

JavaScriptコードから値を返す際にはreturnキーワードを使用します。また、JavaScriptを操作するためには、import org.openqa.selenium.JavascriptExecutorというインポート文を追加する必要がある点にも注意してください。

構文

JavascriptExecutor j = (JavascriptExecutor) driver;
j.executeScript("return document.getElementsByName('txtSearchText')[0].value")

ここでは、テキストボックスに入力された値を取得してみましょう。出力結果はSeleniumとなるはずです。

SeleniumでJavaScriptコードの戻り値を取得する方法

実装例

コード実装

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.JavascriptExecutor;
public class JavascriptValue{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      String url = "https://www.tutorialspoint.com/tutor_connect/index.php";
      driver.get(url);
      driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS);
      // 要素を特定してテキストを入力
      WebElement t=driver.findElement(By.id("txtSearchText"));
      t.sendKeys("Selenium");
      // 戻り値を返すためのJavascript executor
      JavascriptExecutor j = (JavascriptExecutor) driver;
      String s = (String) j.executeScript("return document.getElementsByName('txtSearchText')[0].value");
      System.out.print("値は: " +s);
      driver.quit();
   }
}

出力結果

SeleniumでJavaScriptコードの戻り値を取得する方法


  1. 正規表現を使って引用符で囲まれたテキストを抽出するJavaScriptコード

    この記事では、正規表現(RegExp)を使用して、文字列から引用符「" "」で囲まれたテキストを抽出する方法を、実際に動作するサンプルコードとともに解説します。ポイントは、/"(.*?)"/g というパターンです。.*? による最短一致と g フラグ(グローバル検索)を組み合わせることで、文中の引用符で挟まれた部分を取得できます。 サンプルコード <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /&

  2. JavaScriptでHTMLのH1要素のテキストを変数に取得する方法

    HTML内の <h1> 要素のテキストをJavaScriptの変数に格納したい場合は、document.getElementById() と innerHTML を組み合わせて使用するのが基本です。 H1の値を取得する基本的な方法 document.getElementById(id名).innerHTML と記述することで、指定したIDを持つ要素の内容(テキスト)を取得できます。 例として、次のようなH1見出しがHTMLにあると仮定しましょう。 <h1 id=demo>これはJavaScriptのデモプログラムです……</h1> このH1の値を取得するには