在用selenium 1.X的时候常常会用到getEval()方法来执行一段js脚本来对页面进行处理,以处理一些遇到的问题。当然selenium webdriver也提供这样的一个方法:executeScript()
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
public class SimpleExample {
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
((JavascriptExecutor)driver).executeScript("alert(\"hello,this is a alert!\")");
}
}
上面是一个最简单的例子,打开一个浏览器,然后弹层一个alert框。注意这里的driver要被强制转换成JavascriptExecutor。
下面演示在打开51.com首页如何得到帐号输入框中显示的字符,并打印输出。
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
public class FirstExampe {
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.51.com");
String js = "var user_input = document.getElementById(\"passport_51_user\").title;return user_input;";
String title = (String)((JavascriptExecutor)driver).executeScript( js);
System.out.println(title);
}
}
输出结果为:
用户名/彩虹号/邮箱
分享到:
相关推荐
Ruby+Selenium-Webdriver是一个强大的自动化测试工具组合,用于模拟真实用户在浏览器中与网页进行交互。Ruby是一种动态、面向对象的编程语言,而Selenium WebDriver是一个开源的自动化测试框架,支持多种浏览器和...
通过深入研究这个压缩包中的代码示例,学习者不仅可以理解Selenium WebDriver的工作原理,还能掌握如何在实际项目中应用这些知识,提升自动化测试的技能。同时,这也有助于理解和调试测试脚本,解决在自动化测试过程...
1.3 selenium webdriver学习(三)------------执行js脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 selenium webdriver学习(四)------------定位页面元素 . . . . . . . ....
1. **Selenium WebDriver API**:uw-webdriver-recorder库是建立在Selenium WebDriver之上的,因此理解Selenium的基本概念,如WebDriver接口、元素定位、命令执行等,是使用此库的前提。 2. **记录与回放**:该库的...
标题 "selenium-webdriver-js-dash-doc" 指向的是一个专门为 macOS 用户设计的文档管理器 Dash 的扩展,该扩展专门针对 Selenium WebDriver 的 JavaScript 绑定提供了文档支持。Selenium WebDriver 是一个广泛使用的...
WebDriver是Selenium的一个核心部分,它提供了一个编程接口,允许测试脚本直接控制浏览器。通过这个库,开发者可以编写Java代码,模拟用户在浏览器上的各种操作,如点击链接、填写表单、执行JavaScript等。版本号...
3. **Support Classes**:Selenium 提供了一些辅助类来帮助编写测试脚本,如 ExpectedConditions、 WebDriverWait 和 FluentWait,这些可以帮助处理异步加载的页面和元素。 4. **Browser Specific Drivers**:每个...
Selenium Core是一组JavaScript函数,通过这些函数可以在浏览器中执行各种操作。 - **Selenium 2 (WebDriver)**:随着技术的进步,WebDriver成为了主流。WebDriver更直接地控制浏览器,不再依赖于Selenium Server,...
Selenium WebDriver 是一款强大的自动化测试工具,用于模拟真实用户在浏览器上的交互行为。其工作原理主要涉及自动化测试代码、浏览器驱动和浏览器这三个关键组件。我们可以将这个过程类比为出租车服务,其中工程师...
《Selenium WebDriver基于Python源码案例》是一份专为初学者设计的教程,旨在通过实践案例帮助用户快速掌握Selenium WebDriver与Python的结合使用。这个压缩包中的资源,特别是`.epub`格式的电子书,提供了丰富的...
Selenium WebDriver是一个强大的开源工具,专门用于Web应用程序的自动化测试。这个jar包,"selenium-server-standalone-2.45.1.jar",是Selenium WebDriver的独立服务器版本,包含了所有必需的组件,使得在Eclipse...
这个压缩包“selenium-webdriver离线包.rar”显然包含了在TypeScript或JavaScript环境中离线安装Selenium WebDriver所需的资源。 在TypeScript和JavaScript环境下使用Selenium WebDriver,首先需要理解这两者的基本...
#### 三、编写第一个 Selenium WebDriver 脚本 - **2.1 为什么选 Python**: - Python 语法简洁明了,易于学习。 - 社区活跃,有大量的库和资源可用。 - 对于测试工程师来说,Python 是一个很好的起点。 - **2.2 ...
它提供了丰富的 API,用于模拟用户在浏览器上的各种操作,如点击链接、填写表单、执行 JavaScript 代码等。 在实际使用时,你需要将这两个文件添加到你的 Java 项目类路径中。为了与 Firefox 53 版本兼容,确保你...
1. **Node.js集成**:使用Node.js作为JavaScript运行环境,可以安装`selenium-webdriver` npm包来引入WebDriver接口。 2. **异步编程**:JavaScript的async/await语法让异步测试更加清晰和易于理解。 3. **测试框架*...
`WebDriver`是Selenium的核心接口,它定义了与浏览器进行交互的方法,如打开URL、导航、执行JavaScript等。例如,`get()`方法用于加载新的URL,`quit()`用于关闭当前会话。 ```java WebDriver driver = new ...
// 调用Selenium WebDriver API执行脚本 } } module.exports = WebDriverEnvironment; ``` 在`package.json`中,更新Jest的测试环境配置: ```json { "jest": { "testEnvironment": "./src/testEnvironment/...
WebDriver 支持执行JavaScript脚本,这对于操作那些无法通过常规方式访问的元素特别有用,例如,动态生成或异步加载的元素。 #### 5. 元素定位 - **基本定位策略**:使用`By`类的各种静态方法,如`id()`、`name()`...