JavaScript樣本七(類比發送按鍵),javascript樣本
Selenium1.0時代就是用javascript實現的,應該用了類似手段。
<html><head><title>發送類比按鍵</title></head><body><div id="mydiv">點擊按鈕向文字框發送類比按鍵(僅對firefox有效)<textarea id="myTextbox" name="yes"></textarea></div><form name="myform" method="get"><input type="button" id="mybtn" value="click me"></form><script type="text/javascript">var btn=document.getElementById("mydiv");var btn=document.getElementById("mybtn");var textbox=document.getElementById("myTextbox");var evt;if(document.implementation.hasFeature("KeyboardEvents","3.0")){evt=document.createEvent("KeyEvents");}mydiv.onclick=function(){textbox.value="";}textbox.onkeydown=function(event){textbox.value=textbox.value+String.fromCharCode(evt.which);}btn.onclick=function(){evt.initKeyEvent("keydown",false,true,document.defaultView,false,false,false,false,97,97);textbox.dispatchEvent(evt);evt.initKeyEvent("keydown",false,true,document.defaultView,false,false,false,false,100,100);textbox.dispatchEvent(evt);evt.initKeyEvent("keydown",false,true,document.defaultView,false,false,false,false,109,109);textbox.dispatchEvent(evt);evt.initKeyEvent("keydown",false,true,document.defaultView,false,false,false,false,105,105);textbox.dispatchEvent(evt);evt.initKeyEvent("keydown",false,true,document.defaultView,false,false,false,false,110,110);textbox.dispatchEvent(evt);}</script></body></html>