通过Javascript为selenium按tab键

通过Javascript为selenium按tab键,javascript,c#,selenium,automated-tests,Javascript,C#,Selenium,Automated Tests,我需要测试一个输入表单的功能,在这里我必须验证按tab键是否可以通过正确的输入字段工作。我使用了selenium的操作以及Keys.tab 操作新选项卡=新操作(驱动程序); newtab.SendKeys(Keys.Tab).Build().Perform() 但是由于google chrome版本53.0.2785.116,它不支持tab按键,所以我想通过javascript模拟tab按键。所有的答案都只跟在“活动结束后做什么”后面。 有人能给我一些关于这方面的见解吗 编辑:请注意,我需要在

我需要测试一个输入表单的功能,在这里我必须验证按tab键是否可以通过正确的输入字段工作。我使用了selenium的操作以及Keys.tab

操作新选项卡=新操作(驱动程序);
newtab.SendKeys(Keys.Tab).Build().Perform()

但是由于google chrome版本53.0.2785.116,它不支持tab按键,所以我想通过javascript模拟tab按键。所有的答案都只跟在“活动结束后做什么”后面。 有人能给我一些关于这方面的见解吗

编辑:请注意,我需要在SeleniumWeb驱动程序测试中运行此脚本。因此,与此相关的答案将非常有用。 我确实发现了一些问题和一些令人困惑的答案,比如


我还尝试了以下解决方案,但它不起作用。“键盘事件”不再有效了吗?有人能给我一个解决方法吗?

使用Jquery,您可以尝试:

$("#1234").trigger({type: 'keypress', which: 9, keyCode: 9});

使用JS:

var pressTabKey = new Event('keydown');
document.getElementById('1234').addEventListener('keydown', function() { alert("hi!"); });
document.getElementById('1234').dispatchEvent(pressTabKey);

其中,1234是文本框的id。

在jQuery中,我们使用的方法如下:

假设您有Id为txtName的文本框


你可能想看看hey@UJS,我想要的是在SeleniumWebDriver中使用JAVASCRIPT,自动发送标签。您建议的是检查在jQuery中按下的键是否为Tab键,我们只会这样检查。。在提醒的地方,你可以使用所需的逻辑。这不是我提供的错误选项。如果感觉到,请删除-ve投票。
$("[id*=txtName]").on('keydown', function(e) { 
  var keyCode = e.keyCode || e.which; 
  if (keyCode == 9) {
     e.preventDefault();
     alert('Tab Pressed');
 }
});