(十)模拟键盘按键
乙醇 创建于 over 7 years 之前
最后更新: less than a minute 之前
阅读数: 166
sendKeys
sendKeys()方法可以用来模拟用户按下键盘,组合键比如ctrl+c
等也可以模拟。
目的
- 学会使用sendKeys方法
- 学会使用模拟特殊按钮
场景
测试中我们经常会打开一个页面,然后一下往下拉,直到滚动条拉到最底部,这怎么用selenium来实现呢?
其实我们可以用模拟按空格键的方式实现。大家都知道,在页面上一直按空格键,页面就会到达最底部,当然这并不精确,但大多数时候都是管用的。
下面我们就用代码实现打开qq首页,然后模拟按10下空格键,使页面滚动到最最底部。
代码
var webdriver = require('selenium-webdriver'),
By = webdriver.By;
var Key = webdriver.Key;
var dr = new webdriver.Builder().forBrowser('chrome').build();
dr.get('http://www.qq.com');
// 把页面的body找到,在body上模拟按钮,这是整页面模拟按键事件的小技巧
var body = dr.findElement(By.css("body"));
// 每隔1.5s按一次空格键
// setTimeout在js binding中相当于其他binding中的sleep功能
for (var i = 0; i < 10; i++) {
setTimeout(function() {
body.sendKeys(Key.SPACE);
}, i * 1500);
}
运行结果
页面会缓慢的滚到最底部,如果你的页面滚到中间就停住了,增加滚动次数即可。