- 文件系统模块
- PhantomJS - 属性
- PhantomJS - 方法
- 系统模块
- PhantomJS - 属性
- Web 服务器模块
- PhantomJS - 属性
- PhantomJS - 方法
- 其他
- 命令行界面
- PhantomJS - 屏幕截图
- PhantomJS - 页面自动化
- PhantomJS - 网络监控
- PhantomJS - 测试
- PhantomJS - REPL
- PhantomJS - 示例
- PhantomJS 有用资源
- PhantomJS - 快速指南
- PhantomJS - 有用资源
- PhantomJS - 讨论
PhantomJS - sendEvent()
它用于向网页发送事件。它们不是 DOM 事件。每个事件都是根据用户交互发送到网页的。
此方法支持的事件包括鼠标和键盘事件。
鼠标事件
SendEvent (mouseEventType [, mouseX, mouseY, button = 'left'])
MouseEventType - 这是事件类型,它支持 mouseup, mousedown, mousemove, doubleclick 和 click。
MouseX 和 MouseY 事件是可选的,并获取鼠标位置。button 参数定义要按下的按钮。默认情况下为左侧按钮。对于 mousemove,没有按下任何按钮,因此不考虑 button。
键盘事件
SendEvent (keyboardEventType, keyOrKeys, [null, null, modifier])
KeyboardEventType - 这是事件类型,支持 keyup, keypress 和 keydown。
Keyorkeys - 第二个参数是来自 page.event.key 的键或字符串。第三个和第四个参数不被考虑,需要为此传递 NULL。
Modifier - 它是一个整数,具有以下列表 -
0 - 没有按下任何修饰键。
0x02000000 - 按下了键盘上的 Shift 键。
0x04000000 - 按下了键盘上的 Ctrl 键。
0x08000000 - 按下了键盘上的 Alt 键。
0x10000000 - 按下了键盘上的 Meta 键。
0x20000000 - 按下了键盘上的数字小键盘按钮。
语法
其语法如下 -
sendEvent(mouseEventType[, mouseX, mouseY, button = 'left'])
示例
让我们举一个例子来了解 sendEvent() 方法的使用。
var page = require('webpage').create(); page.onAlert = function(msg) { console.log(msg); } page.open('https://127.0.0.1/tasks/click.html', function(status) { var element = page.evaluate(function() { return document.querySelector('.mybutton'); }); page.sendEvent('click', element.offsetLeft, element.offsetTop, 'left'); console.log('element is ' + element); });
click.html
<html> <body> <form> <input type = "button" class = "mybutton" value = "Click me" onclick = "clickme()"> </form> <p>welcome to phantomjs</p> <script> function clickme() { alert("Hello world!"); } </script> </body> </html>
以上程序生成以下输出。
Hello world! element is [object Object]
phantomjs_webpage_module_methods.htm
广告