Mouse 模块

Mouse类

Mouse类是移动,点击,双击,滚动等各种鼠标操作的抽象。它需要Casper实例作为访问DOM的依赖项。你可以这样创建一个mouse对象:

  1. var casper = require("casper").create();
  2. var mouse = require("mouse").create(casper);
提示

casper实例已经定义了鼠标属性,通常并不需要你手动去创建:

  1. casper.then(function() {
  2. this.mouse.click(400, 300); // clicks at coordinates x=400; y=300
  3. });

click()

调用方式

  • click(Number x, Number y)
  • click(String selector)
  • click(String selector, Number x, Number y)

如果传递的参数为一个选择器表达式,将会对第一个匹配的元素进行点击,如果传递的参数为一对数字,将会对这对数字所表示的坐标进行点击:

  1. casper.then(function() {
  2. this.mouse.click("#my-link"); // clicks <a id="my-link">hey</a>
  3. this.mouse.click(400, 300); // clicks at coordinates x=400; y=300
  4. });

doubleclick()

调用方式

  • doubleclick(Number x, Number y)
  • doubleclick(String selector)
  • doubleclick(String selector, Number x, Number y)

将doubleclick鼠标事件发送到与提供的参数匹配的元素上:

  1. casper.then(function() {
  2. this.mouse.doubleclick("#my-link"); // doubleclicks <a id="my-link">hey</a>
  3. this.mouse.doubleclick(400, 300); // doubleclicks at coordinates x=400; y=300
  4. });

rightclick()

调用方式

  • rightclick(Number x, Number y)
  • rightclick(String selector)
  • rightclick(String selector, Number x, Number y)

将一个contextmenu鼠标事件(即点击鼠标右键)发送到与提供的参数匹配的元素上:

  1. casper.then(function() {
  2. this.mouse.rightclick("#my-link");
  3. this.mouse.rightclick(400, 300); /
  4. });

down()

调用方式

  • down(Number x, Number y)
  • down(String selector)
  • down(String selector, Number x, Number y)

将mousedown鼠标事件发送到与提供的参数匹配的元素上:

  1. casper.then(function() {
  2. this.mouse.down("#my-link");
  3. this.mouse.down(400, 300);
  4. });

move()

调用方式

  • move(Number x, Number y)
  • move(String selector)
  • move(String selector, Number x, Number y)

将鼠标光标移动到与提供的参数匹配的元素上:

  1. casper.then(function() {
  2. this.mouse.move("#my-link"); // moves cursor over <a id="my-link">hey</a>
  3. this.mouse.move(400, 300); // moves cursor over coordinates x=400; y=300
  4. });

up()

调用方式

  • up(Number x, Number y)
  • up(String selector)
  • up(String selector, Number x, Number y)

将mouseup鼠标事件发送到与提供的参数匹配的元素上:

  1. casper.then(function() {
  2. this.mouse.up("#my-link"); // release left button over <a id="my-link">hey</a>
  3. this.mouse.up(400, 300); // release left button over coordinates x=400; y=300
  4. });