我需要测试输入表单的功能,我必须验证按Tab键是否通过右输入字段。我使用了selenium的动作以及Keys.tab
Actions new tab = new Actions(driver);
newtab.SendKeys(Keys.Tab).Build().Perform();
但是由于谷歌Chrome版本53.0.2785.116,它不支持tab键按,所以我想通过javascript模拟tab键按。所有的答案只能遵循""做什么后"这个事件被称为。 任何人都可以给我任何见解吗?
编辑:请注意我需要在selenium web驱动程序测试中运行此脚本。因此,与此相关的答案将非常有帮助。 我确实找到了问题和一些令人困惑的答案 Question A Question B
我也尝试过以下解决方案Link here,但它不起作用。是" keyboardEvent"不再工作了?有人会给我一个解决方法吗?
答案 0 :(得分:0)
使用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。
答案 1 :(得分:-1)
在jQuery中我们使用如下:
假设你有一个带有Id txtName的文本框
import GHC.Conc
import Control.Monad
isThreadStatusBlocked :: ThreadStatus -> Bool
isThreadStatusBlocked (ThreadBlocked _) = True
isThreadStatusBlocked _ = False
isAlive :: ThreadId -> IO Bool
isAlive = fmap (liftM2 (||) (ThreadRunning ==) isThreadStatusBlocked) . threadStatus