Mouse类是移动,点击,双击,滚动等各种鼠标操作的抽象。它需要Casper实例作为访问DOM的依赖项。你可以这样创建一个mouse对象:
var casper = require("casper").create();
var mouse = require("mouse").create(casper);
casper实例已经定义了鼠标属性,通常并不需要你手动去创建:
casper.then(function() {
this.mouse.click(400, 300); // clicks at coordinates x=400; y=300
});
调用方式:
- click(Number x, Number y)
- click(String selector)
- click(String selector, Number x, Number y)
如果传递的参数为一个选择器表达式,将会对第一个匹配的元素进行点击,如果传递的参数为一对数字,将会对这对数字所表示的坐标进行点击:
casper.then(function() {
this.mouse.click("#my-link"); // clicks <a id="my-link">hey</a>
this.mouse.click(400, 300); // clicks at coordinates x=400; y=300
});
调用方式:
- doubleclick(Number x, Number y)
- doubleclick(String selector)
- doubleclick(String selector, Number x, Number y)
将doubleclick鼠标事件发送到与提供的参数匹配的元素上:
casper.then(function() {
this.mouse.doubleclick("#my-link"); // doubleclicks <a id="my-link">hey</a>
this.mouse.doubleclick(400, 300); // doubleclicks at coordinates x=400; y=300
});
调用方式:
- rightclick(Number x, Number y)
- rightclick(String selector)
- rightclick(String selector, Number x, Number y)
将一个contextmenu鼠标事件(即点击鼠标右键)发送到与提供的参数匹配的元素上:
casper.then(function() {
this.mouse.rightclick("#my-link");
this.mouse.rightclick(400, 300); /
});
调用方式:
- down(Number x, Number y)
- down(String selector)
- down(String selector, Number x, Number y)
将mousedown鼠标事件发送到与提供的参数匹配的元素上:
casper.then(function() {
this.mouse.down("#my-link");
this.mouse.down(400, 300);
});
调用方式:
- move(Number x, Number y)
- move(String selector)
- move(String selector, Number x, Number y)
将鼠标光标移动到与提供的参数匹配的元素上:
casper.then(function() {
this.mouse.move("#my-link"); // moves cursor over <a id="my-link">hey</a>
this.mouse.move(400, 300); // moves cursor over coordinates x=400; y=300
});
调用方式:
- up(Number x, Number y)
- up(String selector)
- up(String selector, Number x, Number y)
将mouseup鼠标事件发送到与提供的参数匹配的元素上:
casper.then(function() {
this.mouse.up("#my-link"); // release left button over <a id="my-link">hey</a>
this.mouse.up(400, 300); // release left button over coordinates x=400; y=300
});