Skip to content

Latest commit

 

History

History
100 lines (86 loc) · 2.94 KB

5.4.The Mouse module-mouse模块.md

File metadata and controls

100 lines (86 loc) · 2.94 KB

Mouse 模块

Mouse类

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()

调用方式

  • 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()

调用方式

  • 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()

调用方式

  • 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()

调用方式

  • 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()

调用方式

  • 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()

调用方式

  • 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
});