mouse类

这个类是对各种鼠标操作的抽象,比如移动,点击,双击,滚动等。它要求一个已经获得DOM属性的casper对象,能用这种方式创造一个鼠标对象:

var casper = require("casper").create();
var mouse = require("mouse").create(casper);
提示:
一个capser对象已经有一个mouse属性,因此你一般情况下你不需要在脚本里显式声明一个:
casper.then(function() {
this.mouse.click(400, 300); // clicks at coordinates x=400; y=300
});
click()

Signature:

  • click(Number x, Number y)

  • click(String selector)

对匹配的第一个元素执行一次点击,提供一个选择器表达式或者坐标

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
});
提示:
你可以直接使用Casper#click来替代这个方法
 
doubleclick()

Signature:

  • doubleclick(Number x, Number y)

  • doubleclick(String selector)

对匹配的元素发送一个双击事件

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
});
down()

Signature:

  • down(Number x, Number y)

  • down(String selector)

对匹配的元素发送一个鼠标按下事件

casper.then(function() {
this.mouse.down("#my-link"); // press left button down <a id="my-link">hey</a>
this.mouse.down(400, 300); // press left button down at coordinates x=400; y=300
});
move()

Signature:

  • move(Number x, Number y)

  • move(String selector)

鼠标移动到匹配的元素上

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

Signature:

  • up(Number x, Number y)

  • up(String selector)

对匹配的元素发送一个鼠标放开事件

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

[译文]casperjs的API-mouse模块的更多相关文章

  1. [译文]casperjs的API-clientutils模块

    casper提供了少量的客户端接口用来进行远程DOM环境注入,通过clientutils模块的ClientUtils类实例中的__utils__对象来执行: casper.evaluate(funct ...

  2. [译文]casperjs 的API-casper模块

    Casper class: 可以通过这个模块的create()方法来获取这个模块的一个实例,这是最容易的: var casper = require('casper').create(); 我们也可以 ...

  3. [译文]casperjs的API-colorizer模块

    colorizer模块包含了一个Colorizer类,它能够生成一个标准化的颜色字符串: var colorizer = require('colorizer').create('Colorizer' ...

  4. [译文]casperjs使用说明-使用命令行

    使用命令行 Casperjs使用内置的phantomjs命令行解析器,在cli模块里,它传递参数位置的命名选项 但是不要担心不能熟练操控CLI模块的API,一个casper实例已经包含了cli属性,允 ...

  5. JavaScript 客户端JavaScript之事件(DOM API 提供模块之一)

    具有交互性的JavaScript程序使用的是事件驱动的程序设计模型.   目前使用的有3种完全不同的不兼容的事件处理模型. 1.原始事件模型 (一种简单的事件处理模式) 一般把它看作0级DOM API ...

  6. [译文]casperjs使用说明-测试

    capserjs自带了一个测试框架,它提供了一个使你能够更容易的测试你的web应用的工具集. 注意: 1.1版本变更 这个测试框架,包括它的所有API,仅能使用在casperjs test子命令下 如 ...

  7. JavaScript 客户端JavaScript之样式表操作(DOM API 提供模块之一)

    层叠样式 表和动态HTML   层叠样式表(CSS)是指定HTML文档或XML文档的表现的标准.     使用CSS和Javascript,可以创建出各种视觉效果,这些效果可以统称为动态HTML(DH ...

  8. ansible api常用模块与参数

    ###ansibleAPI 常用模块 用于读取yaml,json格式的文件 from ansible.parsing.dataloader import DataLoader #用于管理变量的类,包括 ...

  9. [译文]casperjs使用说明-选择器

    casperjs的选择器可以在dom下工作,他既支持css也支持xpath. 下面所有的例子都基于这段html代码: <!doctype html> <html> <he ...

随机推荐

  1. 关于ueditor与arcgis js api同用会报错的问题

    在ueditor与arcgis js api共用时,需要将ueditor\third-party\zeroclipboard\ZeroClipboard.js中的 if (typeof define ...

  2. Add Strings大整数加法十进制求和 & Add Binary二进制求和

    [抄题]: 以字符串的形式给出两个非负整数 num1 和 num2,返回 num1和 num2 的和. 比如一个50位+一个100位. 给定 num1 = "123",num2 = ...

  3. 使用matplotlib画双纵轴坐标

    一.前言 本文主要使用matplotlib,实现双纵轴坐标的图表绘制.笔者python版本为2.7.15. 二.实践及效果 1. 需求 某个有这么一个成绩表,分别是名字,本次成绩以及进步幅度,现在需要 ...

  4. Spring Boot 简单入门

    添加相关依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...

  5. jquery对象的遍历$(selector).each()

    <!DOCTYPE html> <html> <head> <script language="javascript" src=" ...

  6. AngularJS-$scope类

    一.$scope的作用 用来在controller和view中进行数据.事件的传递 二.$scope和$rootscope的区别 1.$rootscope根作用域 2.$rootscope可以实现多个 ...

  7. 基于swoole搭建聊天室程序

    1. 创建websocket服务器 swoole从1.7.9版本开始, 内置了websocket服务器功能,我们只需几行简单的PHP代码,就可以创建出一个异步非阻塞多进程的WebSocket服务器. ...

  8. 一个用户管理的ci框架的小demo--转载

    一个ci框架的小demo 最近在学习ci框架,作为一个初学者,在啃完一遍官方文档并也跟着官方文档的例程(新闻发布系统)做了一遍,决定在将之前练习PHP与MySQL数据库的用户管理系统再用ci框架实现一 ...

  9. FPGA时序约束和timequest timing analyzer

    FPGA时序约束 时钟约束 #************************************************************** # Create Clock #****** ...

  10. UVALive - 6434 —(思维题)

    题意:给出了你由n个数组成的序列,让你将这个序列分为成m个集合,使得每一个集合的最大值减最小值的差相加最小.(如果某集合只有一个数字,则最大值减最小值为0) . 思路:首先我们不难想到,最优的分配方法 ...