[译文]casperjs的API-mouse模块
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模块的更多相关文章
- [译文]casperjs的API-clientutils模块
casper提供了少量的客户端接口用来进行远程DOM环境注入,通过clientutils模块的ClientUtils类实例中的__utils__对象来执行: casper.evaluate(funct ...
- [译文]casperjs 的API-casper模块
Casper class: 可以通过这个模块的create()方法来获取这个模块的一个实例,这是最容易的: var casper = require('casper').create(); 我们也可以 ...
- [译文]casperjs的API-colorizer模块
colorizer模块包含了一个Colorizer类,它能够生成一个标准化的颜色字符串: var colorizer = require('colorizer').create('Colorizer' ...
- [译文]casperjs使用说明-使用命令行
使用命令行 Casperjs使用内置的phantomjs命令行解析器,在cli模块里,它传递参数位置的命名选项 但是不要担心不能熟练操控CLI模块的API,一个casper实例已经包含了cli属性,允 ...
- JavaScript 客户端JavaScript之事件(DOM API 提供模块之一)
具有交互性的JavaScript程序使用的是事件驱动的程序设计模型. 目前使用的有3种完全不同的不兼容的事件处理模型. 1.原始事件模型 (一种简单的事件处理模式) 一般把它看作0级DOM API ...
- [译文]casperjs使用说明-测试
capserjs自带了一个测试框架,它提供了一个使你能够更容易的测试你的web应用的工具集. 注意: 1.1版本变更 这个测试框架,包括它的所有API,仅能使用在casperjs test子命令下 如 ...
- JavaScript 客户端JavaScript之样式表操作(DOM API 提供模块之一)
层叠样式 表和动态HTML 层叠样式表(CSS)是指定HTML文档或XML文档的表现的标准. 使用CSS和Javascript,可以创建出各种视觉效果,这些效果可以统称为动态HTML(DH ...
- ansible api常用模块与参数
###ansibleAPI 常用模块 用于读取yaml,json格式的文件 from ansible.parsing.dataloader import DataLoader #用于管理变量的类,包括 ...
- [译文]casperjs使用说明-选择器
casperjs的选择器可以在dom下工作,他既支持css也支持xpath. 下面所有的例子都基于这段html代码: <!doctype html> <html> <he ...
随机推荐
- 关于ueditor与arcgis js api同用会报错的问题
在ueditor与arcgis js api共用时,需要将ueditor\third-party\zeroclipboard\ZeroClipboard.js中的 if (typeof define ...
- Add Strings大整数加法十进制求和 & Add Binary二进制求和
[抄题]: 以字符串的形式给出两个非负整数 num1 和 num2,返回 num1和 num2 的和. 比如一个50位+一个100位. 给定 num1 = "123",num2 = ...
- 使用matplotlib画双纵轴坐标
一.前言 本文主要使用matplotlib,实现双纵轴坐标的图表绘制.笔者python版本为2.7.15. 二.实践及效果 1. 需求 某个有这么一个成绩表,分别是名字,本次成绩以及进步幅度,现在需要 ...
- Spring Boot 简单入门
添加相关依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...
- jquery对象的遍历$(selector).each()
<!DOCTYPE html> <html> <head> <script language="javascript" src=" ...
- AngularJS-$scope类
一.$scope的作用 用来在controller和view中进行数据.事件的传递 二.$scope和$rootscope的区别 1.$rootscope根作用域 2.$rootscope可以实现多个 ...
- 基于swoole搭建聊天室程序
1. 创建websocket服务器 swoole从1.7.9版本开始, 内置了websocket服务器功能,我们只需几行简单的PHP代码,就可以创建出一个异步非阻塞多进程的WebSocket服务器. ...
- 一个用户管理的ci框架的小demo--转载
一个ci框架的小demo 最近在学习ci框架,作为一个初学者,在啃完一遍官方文档并也跟着官方文档的例程(新闻发布系统)做了一遍,决定在将之前练习PHP与MySQL数据库的用户管理系统再用ci框架实现一 ...
- FPGA时序约束和timequest timing analyzer
FPGA时序约束 时钟约束 #************************************************************** # Create Clock #****** ...
- UVALive - 6434 —(思维题)
题意:给出了你由n个数组成的序列,让你将这个序列分为成m个集合,使得每一个集合的最大值减最小值的差相加最小.(如果某集合只有一个数字,则最大值减最小值为0) . 思路:首先我们不难想到,最优的分配方法 ...