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]