WebDriver拾级而上·之十三 调用Java Script
来源:互联网 发布:济南网络优化 编辑:程序博客网 时间:2024/06/06 02:08
在用selenium 1.X的时候常常会用到geteval_r()方法来执行一段js脚本来对页面进行处理。
当然selenium webdriver也提供这样的一个方法:JavascriptExecutor.executeScript(string)
例如:
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
public class SimpleExample {
public static void main(String[] args) {
ChromeDriver driver = new ChromeDriver(); }
}
上面是一个最简单的例子,打开一个浏览器,然后弹层一个alert框。注意这里的driver要被强制转换成JavascriptExecutor。
下面演示在打开51.com首页如何得到帐号输入框中显示的字符,并打印输出。
dr.quit();
其他用例:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("(function(){
inventoryGridMgr.setTableFieldValue('"+ inventoryId + "','"
+ fieldName + "','"+ value + "');
}
)()"
);
当然selenium webdriver也提供这样的一个方法:JavascriptExecutor.executeScript(string)
例如:
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
public class
driver.executeAsyncScript("arguments[0](); alert('Hello')");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
driver.switchTo().alert().accept();
}
上面是一个最简单的例子,打开一个浏览器,然后弹层一个alert框。注意这里的driver要被强制转换成JavascriptExecutor。
下面演示在打开51.com首页如何得到帐号输入框中显示的字符,并打印输出。
package com.test;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class Test_JsExecutor {
public static void main(String[] args) {
String url = "http://www.51.com";
//打开chrome
WebDriver dr = new ChromeDriver();
String js = "var user_input = document.getElementByIdx_x_x_x(\"passport_51_user\").title;return user_input;";
String title = (String)((JavascriptExecutor)dr).executeScript( js);
System.out.println(title);
}
}
输出结果为:用户名/彩虹号/邮箱其他用例:
- WebDriver拾级而上·之十三 调用Java Script
- WebDriver拾级而上·之十三 调用Java Script
- WebDriver拾级而上·之零 WebDriver理论
- WebDriver拾级而上·之零 WebDriver理论
- WebDriver拾级而上·之八 操作cookies
- WebDriver拾级而上·之十四 RemoteWebDriver
- WebDriver拾级而上·之二 浏览器操作
- WebDriver拾级而上·之二 浏览器操作
- WebDriver拾级而上·之八 操作cookies
- WebDriver拾级而上·之十四 RemoteWebDriver
- WebDriver拾级而上·之十七 断言
- WebDriver拾级而上·之十二 截图selenium-webdriver
- WebDriver拾级而上·之十二 截图selenium-webdriver
- WebDriver拾级而上·之七 处理对话框alert\confirm\prompt
- WebDriver拾级而上·之九 等待页面加载元素完成
- WebDriver拾级而上·之十 封装与重用
- WebDriver拾级而上·之十五 拖曳动作模拟
- WebDriver拾级而上·之三 定位页面元素
- 想学C++大家多多指点
- 想学C++大家多多指点
- 常见开源协议
- java.util.ConcurrentModificationException
- 在eclipse中生成android项目工程生成apk包
- WebDriver拾级而上·之十三 调用Java Script
- WebDriver拾级而上·之十四 RemoteWebDriver
- Linux内核开发入门
- hdu 4638 Group 多校第四场
- WebDriver拾级而上·之十五 拖曳动作模拟
- HDU 1862 EXCEL排序
- zoj3261(并查集+set)
- WebDriver拾级而上·之十六 Table控件的处理
- 在Eclipse中config-brower的应用