在 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.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(); } }
输出
广告