通过Javascript为selenium按tab键

本文关键字:tab selenium Javascript 通过 | 更新日期: 2023-09-27 18:08:38

我需要测试一个输入表单的功能,我必须验证按tab键通过右输入字段工作。我使用了硒的作用以及键。标签

Actions new tab = new Actions(driver); newtab.SendKeys(Keys.Tab).Build().Perform();

但由于谷歌chrome版本53.0.2785.116,它不支持TAB键按下,所以我想通过javascript模拟TAB键按下。所有的答案都跟随着"事件被调用后该做什么"。有谁能给我点建议吗?

编辑:请注意,我需要在selenium web驱动程序测试中运行此脚本。所以回答与此相关的问题会很有帮助。我确实发现了一些问题和一些令人困惑的答案,比如问题问题B

我也尝试了以下解决方案链接在这里,但它不工作。"keyboardEvent"不再工作了吗?谁能给我个解决办法?

通过Javascript为selenium按tab键

使用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的TextBox

$("[id*=txtName]").on('keydown', function(e) { 
  var keyCode = e.keyCode || e.which; 
  if (keyCode == 9) {
     e.preventDefault();
     alert('Tab Pressed');
 }
});