Selenium WebDriver ব্যবহার করে ব্রাউজারের JavaScript ভেরিয়েবল বা প্রপার্টির মান পড়া যায়। এর জন্য JavascriptExecutor ইন্টারফেসের executeScript মেথড ব্যবহার করা হয়।
সিনট্যাক্স
JavascriptExecutor j = (JavascriptExecutor) driver;
j.executeScript("return document.title");
উদাহরণ: ব্রাউজার টাইটেল পড়া
নিচের পেজের টাইটেল পাওয়া যাবে: About Careers at Tutorials Point – Tutorialspoint
কোড উদাহরণ (Java)
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 JavascriptReadValue {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "path/to/chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.tutorialspoint.com/about/about_careers.htm");
driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS);
// Javascript executor ইনিশিয়ালাইজ
JavascriptExecutor j = (JavascriptExecutor) driver;
// document.title থেকে টাইটেল পড়ুন
String t = (String) j.executeScript("return document.title");
System.out.print("Current page title: " + t);
driver.close();
}
}
আউটপুট
কনসোলে প্রিন্ট হবে: Current page title: About Careers at Tutorials Point – Tutorialspoint
ব্যাখ্যা
JavascriptExecutorইন্টারফেস Selenium-এ JavaScript এক্সিকিউশনের অনুমতি দেয়।executeScript("return document.title")ব্রাউজারের কনটেক্সটে JavaScript এক্সিকিউট করে এবং রিটার্ন ভ্যালু জাভাতে পাঠায়।- রিটার্ন টাইপ অনুযায়ী কাস্ট করতে হয় (এখানে
String)। - অন্য JavaScript ভেরিয়েবল/প্রপার্টিও একইভাবে পড়া যায়:
window.myVar,document.getElementById('id').valueইত্যাদি।
সাধারণ ইউজ কেস
- পেজ টাইটেল, URL, রেডি স্টেট চেক
- হিডেন ইনপুট ফিল্ডের মান পড়া
- JavaScript অ্যাপ্লিকেশনের ইন্টারনাল স্টেট যাচাই
- পারফরম্যান্স মেট্রিক্স (window.performance) পড়া