在 Selenium 中獲取 Javascript 程式碼的返回值。


我們可用 Selenium webdriver 獲取 Javascript 程式碼的返回值。Selenium 可用 executeScript 方法執行 Javascript 命令。待執行的 Javascript 命令可傳為該方法的引數。

我們將藉助關鍵字 return 從 Javascript 程式碼中返回該值。同樣,我們必須新增語句 import org.openqa.selenium.JavascriptExecutor 以配合 Javascript。

語法

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

讓我們獲取編輯框中輸入的值。輸出應為 Selenium

示例

程式碼實現

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://tutorialspoint.tw/tutor_connect/index.php";
      driver.get(url);
      driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS);
      // identify element and enter text
      WebElement t=driver.findElement(By.id("txtSearchText"));
      t.sendKeys("Selenium");
      // Javascript executor to return value
      JavascriptExecutor j = (JavascriptExecutor) driver;
      String s = (String) j.executeScript("return document.getElementsByName('txtSearchText')[0].value");
      System.out.print("Value is: " +s);
      driver.quit();
   }
}

輸出

更新於: 2020 年 10 月 26 日

3K+ 次檢視

開啟您的 職業生涯

完成課程即可獲得證書

開始
廣告
© . All rights reserved.