[译文]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 ...
随机推荐
- ubuntu17.10 安装CUDA
1. 更新apt-get源列表 sudo apt-get update sudo apt-get upgrade 2. 添加驱动源 sudo add-apt-repository ppa:graphi ...
- leetcode 21 Merge Two Sorted Lists 合并两个有序链表
描述: 合并两个有序链表. 解决: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if (!l1) return l2; if (!l2) ...
- webkit com wrapper 推荐!
https://groups.google.com/forum/#!topic/microsoft.public.vb.general.discussion/ZaFY95aDZoY http://ww ...
- 解决 Laravel try catch 不工作的问题
最近再用laravel框架发现,try catch用了没有效果,不能捕获异常, 然后在think框架里也试了一下,发现竟然也不可以! [php] view plain copy try{ $i = ...
- Java 设计模式系列(十四)命令模式(Command)
Java 设计模式系列(十四)命令模式(Command) 命令模式把一个请求或者操作封装到一个对象中.命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复 ...
- Socket发送文件
.Net.cs using System; using System.Collections.Generic; using System.IO; using System.Linq; using Sy ...
- DevExpress,LayoutControl,TreeList,GridControl等
1.显示边框进行折叠 选择一个layoutControlGroupX 将其GroupBordersVisible设置成True,将TextVisiable=True 2. TreeList 2.1需要 ...
- Google Tango Java SDK开发:Motion Tracking 运动追踪
Java API Motion Tracking Tutorial运动追踪教程 This page describes how the Java API handles motion tracking ...
- Hook ptrace 调试加入了ptrace函数的程序
Hook ptrace 调试加入了ptrace函数的程序 #import <substrate.h> #if !defined(PT_DENY_ATTACH)#define PT_DENY ...
- pro2
#include<iostream> double sum(int n,dounle[]) { double array[100]; foe(int i=0;i<100;i++; ...