Javascript 如何在webdriverIO中释放密钥

Javascript 如何在webdriverIO中释放密钥,javascript,selenium-webdriver,webdriver,chimp.js,Javascript,Selenium Webdriver,Webdriver,Chimp.js,webdriverIO文档说browser.keys命令的工作原理与sendKeys命令类似,但它不会隐式释放键 钥匙是如何释放的 我尝试编写代码,使用键盘在表单中向后导航: browser.keys(['Shift', 'Tab']); 但在它输入的下一个输入框中,文本是大写的。就像shift键仍然被按住一样。为什么不使用。单击以单击所需的表单?使用css选择器比模拟按键要容易得多 你也可以做类似的事情 .click('a[href*="contact"]') browser.keys([

webdriverIO文档说browser.keys命令的工作原理与sendKeys命令类似,但它不会隐式释放键

钥匙是如何释放的

我尝试编写代码,使用键盘在表单中向后导航:

browser.keys(['Shift', 'Tab']);

但在它输入的下一个输入框中,文本是大写的。就像shift键仍然被按住一样。

为什么不使用。单击以单击所需的表单?使用css选择器比模拟按键要容易得多

你也可以做类似的事情

.click('a[href*="contact"]')
browser.keys(['Shift', 'Tab', 'Tab', 'Shift']);
如果找不到唯一的id或类,也可以使用占位符和其他东西

// .moveToObject(selector,xoffset,yoffset); 
.moveToObject('#button', 0, -103)
.buttonDown()
.moveToObject('#button', 0, -104)
.buttonUp()

然而,如果你没有机会找到合适的css选择器来点击,我会用它按下鼠标按钮然后释放它。您可以右键单击webdriver io以查看您所处的位置,然后您可以在不使用css选择器的情况下单击任意位置来创建此解决方案。

我想我已经找到了答案。我就这样把钥匙送了两次

.click('a[href*="contact"]')
browser.keys(['Shift', 'Tab', 'Tab', 'Shift']);
我认为webdriver必须将第一个班次视为向下键,将第二个班次视为向上键


因此,上面的顺序将是完整的向下键/向上键顺序,以便使用键盘进行向后表单导航。

谢谢!了解使用鼠标导航应用程序的其他方法总是很有帮助的。不幸的是,我正在编写一些自动化测试来测试是否只有键盘用户才能浏览我们的应用程序。所以,我被禁止在这个测试套件中使用鼠标导航。啊,你自己找到了你的awnser:但是好2知道你需要按2次看看这个想法。