当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PhantomJS sendEvent()用法及代码示例



它用于向网页发送事件。它们不是 DOM 事件。这些事件中的每一个都根据用户交互发送到网页。

此方法支持的事件是鼠标和键盘事件。

鼠标事件

SendEvent (mouseEventType [, mouseX, mouseY, button = 'left'])

MouseEventType- 这是一种事件,它支持mouseup, mousedown, mousemove, doubleclickclick

这个MouseXMouseY事件是可选的,并采用鼠标位置。 button 参数定义要按下的按钮。默认情况下它在左侧。对于 mousemove,没有按下按钮,因此不考虑按钮。

键盘事件

SendEvent (keyboardEventType, keyOrKeys, [null, null, modifier])

KeyboardEventType- 这是一种事件并支持keyup, keypresskeydown.

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 - sendEvent()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。