Selenium webdriver执行JS-自动化测试
更新时间:2022-05-10 09:15:55 作者:多测师 浏览:257
可以用来执行js代码,如下所示
该例子打开浏览器,并显示一个alert提示框
1 import org.openqa.selenium.JavascriptExecutor;
2 import org.openqa.selenium.WebDriver;
3 import org.openqa.selenium.firefox.FirefoxDriver;
4
5 public class JavaScript {
6
7 public static void main(String[] args) {
8 WebDriver driver = new FirefoxDriver();
9 // 执行js代码
10 // 1.将driver强制转换为JavascriptExecutor类型
11 // 2.调用executeScript方法
12 ((JavascriptExecutor)driver).executeScript("alert(\"hello,this is a alert!\")");
13 }
14 }
也可以用JS获取网页中的信息,返回给selenium
该例子通过执行JS代码return document.title 获取网页的title,返回给selenium,并打印。(只是个例子- -#)
1 import org.openqa.selenium.WebDriver;
2 import org.openqa.selenium.firefox.FirefoxDriver;
3 import org.openqa.selenium.JavascriptExecutor;
4
5
6 public class JavaScript2 {
7
8 public static void main(String[] args) {
9 WebDriver driver = new FirefoxDriver();
10 driver.get("http://www.baidu.com/");
11 /*
12 * !!!这里注意!!!
13 * 该方法引用的是包org.openqa.selenium.JavascriptExecutor下的对象JavascriptExecutor
14 而不是com.gargoylesoftware.htmlunit.javascript.background.JavaScriptExecutor包下面的
15 JavaScriptExecutor对象
16 他们差别在Java后s的大小写
17 */
18 // 不是JavaScriptExecutor
19 JavascriptExecutor js = (JavascriptExecutor)driver;
20 // 通过js获取网页的title 注意有return
21 String title = (String) js.executeScript("return document.title");
22 System.out.println(title);
23 driver.close();
24 }
25 }
以上内容为大家介绍了自动化测试中的Selenium webdriver执行JS,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/