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>


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。