Phantomjs-sendevent-method
提供:Dev Guides
PhantomJS-sendEvent()
イベントをWebページに送信するために使用されます。 それらはDOMイベントではありません。 これらの各イベントは、ユーザーの操作に基づいてWebページに送信されます。
このメソッドでサポートされるイベントは、マウスイベントとキーボードイベントです。
マウスイベント
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* -2番目のパラメーターは、page.event.keyのキーまたは文字列です。 3番目と4番目は考慮されず、NULLを渡す必要があります。
修飾子-それは整数であり、次のリストがあります-
- 0 -修飾キーは押されていません。
- 0x02000000 -キーボードのShiftキーが押されています。
- 0x04000000 -キーボードのCtrlキーが押されています。
- 0x08000000 -キーボードのAltキーが押されています。
- 0x10000000 -キーボードのメタキーが押されています。
- 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/clickl', function(status) {
var element = page.evaluate(function() {
return document.querySelector('.mybutton');
});
page.sendEvent('click', element.offsetLeft, element.offsetTop, 'left');
console.log('element is ' + element);
});
クリックル
<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]