无法在Selenium集成测试期间发送TAB键



作为Selenium集成测试的一部分,我用Ruby编写了以下两行代码来模拟在文本字段中输入电子邮件地址并"转移焦点":

  @driver.find_element(:id, "user_email").send_keys "user@example.com"
  @driver.find_element(:id, "some_other_element").click

第二行不够泛型,因为some_other_element可能是未知的或不存在的。因此,我想用TAB键来替换单击另一个元素的操作:

  @driver.find_element(:id, "user_email").send_keys :tab

然而,这似乎不起作用,元素user_email并没有像预期的那样失去焦点。此外,将:tab替换为"xEEx80x84"也无济于事。有人知道这里有什么问题吗?如何在不模拟点击其他地方的情况下将焦点移开元素?

谢谢你的帮助,
杜米尼克

我不知道如何做到没有模拟点击,但点击<body>为我工作。这个解决方案可能足够通用。

我认为这应该工作得很好。试试吧。

find('.myselector_name').native.send_keys(:tab)

参考答案是我如何模拟用Capybara和ChromeDriver在输入字段中键入回车?

最新更新