(十)模拟键盘按键

乙醇 创建于 7 个月 之前

最后更新时间 2018-09-11

sendKeys

sendKeys()方法可以用来模拟用户按下键盘,组合键比如ctrl+c等也可以模拟。

目的

场景

测试中我们经常会打开一个页面,然后一下往下拉,直到滚动条拉到最底部,这怎么用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);
}

运行结果

页面会缓慢的滚到最底部,如果你的页面滚到中间就停住了,增加滚动次数即可。

我要留言

暂无评论