เราสามารถรับค่าส่งคืนของโค้ด Javascript ด้วย Selenium webdriver ซีลีเนียมสามารถเรียกใช้คำสั่ง Javascript ด้วยความช่วยเหลือของ executeScript กระบวนการ. คำสั่ง Javascript ที่จะดำเนินการจะถูกส่งผ่านเป็นอาร์กิวเมนต์ไปยังเมธอด
เราจะคืนค่าจากโค้ด Javascript โดยใช้คีย์เวิร์ด return นอกจากนี้ เราต้องเพิ่มคำสั่ง import org.openqa.selenium.JavascriptExecutor เพื่อทำงานกับ Javascript
ไวยากรณ์
JavascriptExecutor j = (JavascriptExecutor) driver; j.executeScript("return document.getElementsByName('txtSearchText')[0].value")
ให้เราได้ค่าที่ป้อนในกล่องแก้ไข ผลลัพธ์ควรเป็น ซีลีเนียม .
ตัวอย่าง
การติดตั้งโค้ด
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); // 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(); } }
ผลลัพธ์