它用于向网页发送事件。它们不是 DOM 事件。这些事件中的每一个都根据用户交互发送到网页。
此方法支持的事件是鼠标和键盘事件。
鼠标事件
SendEvent (mouseEventType [, mouseX, mouseY, button = 'left'])
MouseEventType- 这是一种事件,它支持mouseup, mousedown, mousemove, doubleclick和click。
这个MouseX和MouseY事件是可选的,并采用鼠标位置。 button 参数定义要按下的按钮。默认情况下它在左侧。对于 mousemove,没有按下按钮,因此不考虑按钮。
键盘事件
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('http://localhost/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>
上述程序生成以下内容output。
Hello world! element is [object Object]
相关用法
- PhantomJS setContent()用法及代码示例
- PhantomJS switchToFocusedFrame()用法及代码示例
- PhantomJS stop()用法及代码示例
- PhantomJS onConsoleMessage()用法及代码示例
- PhantomJS onResourceRequested()用法及代码示例
- PhantomJS onPageCreated()用法及代码示例
- PhantomJS deleteCookie()用法及代码示例
- PhantomJS renderBase64()用法及代码示例
- PhantomJS onUrlChanged()用法及代码示例
- PhantomJS onNavigationRequested()用法及代码示例
- PhantomJS onAlert()用法及代码示例
注:本文由纯净天空筛选整理自 PhantomJS - sendEvent()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。