- 檔案系統模組
- 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:///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
廣告