我想要的是模拟在中键入<;输入>使用javascript的字段
我有以下代码:
var press=jQuery.Event(“keydown”);
press.ctrlKey=false;
按。其中=65;
$(“#测试”)。触发器(按);
但是当我加载页面时,#test输入字段没有键入的字符,“65”键代码表示“A”,但没有“A”输入
基本上我想要的是使用Greasemonkey在网站上自动输入
请给我一些想法或一些我可以用来做这件事的图书馆。
非常感谢
您可以发送关键事件,任何侦听它们的内容都将获得它们,但它们不会更改输入,因此您不会看到字母A出现,例如。这主要是一个安全问题;有关这方面的讨论,请参阅“手动触发事件”
因此,如果希望字母出现,则必须在发送键事件时更改输入的值。有一个jQuery插件,请参阅“The$.fn.sendkeys插件”
您可以看到<;输入>对用户应用的键、键事件和该插件在这个JSFIDLE中做出反应
作为参考,这是JSFIDLE中的关键代码:
$(“按钮”)。单击(功能(zEvent){
if(zEvent.target.id==“simA_平原”){
console.log(“发送普通密钥事件”);
var-keyVal=65;
$(“#事件目标”)。触发器({
键入:'keypress',keyCode:keyVal,which:keyVal,charCode:keyVal
} );
}
否则{
console.log(“使用插件模拟击键”);
$(“#事件目标”)。发送键(“B”);
}
} );
如果您只是想“模拟输入”,那么这个插件就足够了。但是,根据您真正想做什么,您可能需要执行以下一项或多项操作:
- 只需将文本设置为您想要的内容
- 如果页面的javascript触发了该事件,则发送一个
keydown事件 - 同样,如果页面的javascript触发了该事件,则发送
change事件等 - 只需直接查找并调用页面的javascript即可。使用脚本注入,位置黑客,
取消安全窗口,和/或@grant none模式来执行此操作 - 还有别的吗?陈述你的真实目标并链接到目标页面