用CasperJS,如何使鼠标操作,以使“拖拽”的效果
With CasperJS,how to make mouse operation in order to make the effect of "dragging"?
我使用"http://104.238.150.223:8888"来测试它,这是一个html,我们可以用鼠标在上面画,我的代码如下:
var casper = require('casper').create();
var mouse = require('mouse').create(casper);
casper.start('http://104.238.150.223:8888',function() {
this.echo(this.getTitle());
});
casper.then(function() {
this.wait(2000,function() {
this.mouse.down(0,0);
this.mouse.move(40,40);
this.mouse.move(60,40);
this.mouse.down(60,40);
});
this.capture('test.png');
})
但是不行,画板里什么也没有T_T
本地事件
本机拖动是不可能的PhantomJS (CasperJS是建立在它之上),因为每个casper.mouse.*()
调用实际上开始一个新的鼠标动作和"重置";前一个。在呼叫之间不保留任何鼠标按钮的按下状态。这与PhantomJS的page.sendEvent
如何工作有关,它通过CasperJS(强调我的)处理所有用户操作:
合成事件第一个参数是事件类型。支持的类型是'mouseup', 'mousedown', 'mousemove', '双击'和'click'。接下来的两个参数是可选的,但是代表了事件的鼠标位置。
button参数(默认为left)指定要按的按钮。
对于' mousmove ',没有按下按钮(即它没有拖动)。
您可以尝试使用casper.evaluate
内部可用的DOM api触发合成事件。你需要
查找页面上实际负责捕获这些UI事件的元素和
在该元素上触发相应的事件:1 x
mousedown
, n xmousemove
和1 xmouseup
。
相关文章:
- 支持在画布上滚动和拖动操作
- 拖放操作会产生不良结果
- HTML5拖拽&drop正在抛出undefined不是函数错误
- JqueryUI访问修改拖拽功能
- 上传文件时检测到已取消的拖放操作
- 画布中的拖拽事件不会在 Firefox 上触发
- 谷歌地图V3拖拽侦听器将所有标记添加回地图
- 跑马灯拖拽我的 css
- IE 内容在 chrome 中完美工作
- 多张图片上传,全部显示,全部拖拽
- (拖拽n)将文件放到火狐中
- 如何在拖拽后获取ng-map标记位置
- 棱角分明的嵌套重复断裂指令(包装+拖拽)
- 如何防止拖拽后的触端事件
- 拉斐尔拖拽 + iPhone = 悲伤的相机应用程序
- 从 iframe 进行跨域拖放操作
- 谷歌地图错误,拖拽事件也会在IE中触发点击事件
- ExtJS拖拽事件监听器在Chrome和Firefox上的工作方式不同
- 拖放操作不会按预期发送数据
- 如何在jquery中实现数据库的edmx拖拽场景
- 用CasperJS,如何使鼠标操作,以使“拖拽”的效果