Mô tả
Sử dụng JavascriptExecutor để đọc giá trị biến JavaScript/biến toàn cục (như document.title) từ trình duyệt.
Cú pháp
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("return document.title");
Ví dụ hoàn chỉnh (Java)
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
public class JavascriptReadValue {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
WebDriver driver = new ChromeDriver();
driver.get("https://www.tutorialspoint.com/about/about_careers.htm");
driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS);
JavascriptExecutor js = (JavascriptExecutor) driver;
String title = (String) js.executeScript("return document.title");
System.out.println("Current page title: " + title);
driver.close();
}
}
Kết quả
In ra tiêu đề trang: "About Careers at Tutorials Point – Tutorialspoint"
Lưu ý
- Luôn dùng
returntrong script để lấy giá trị trả về - Ép kiểu kết quả:
(String),(Long),(Boolean),(WebElement) - Có thể truy cập bất kỳ biến global nào:
window.myVar,jQuery.fn.jquery, etc.