【问题标题】:Unable to send the TAB key during a Selenium integration test在 Selenium 集成测试期间无法发送 TAB 键
【发布时间】:2011-10-18 08:50:56
【问题描述】:

作为 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 替换为 "\xEE\x80\x84" 也无济于事。有谁知道这里可能出了什么问题?如何在不模拟其他地方的点击的情况下将焦点从元素上移开?

感谢您的帮助,
多米尼克

【问题讨论】:

    标签: ruby-on-rails ruby selenium sendkeys


    【解决方案1】:

    如果不模拟点击,我不知道该怎么做,但点击<body> 对我有用。这个解决方案可能足够通用。

    【讨论】:

      【解决方案2】:

      我认为这应该很好用。试一试。

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

      参考答案是How do I simulate hitting enter in an input field with Capybara and ChromeDriver?

      【讨论】:

        猜你喜欢
        • 2016-05-24
        • 2018-09-23
        • 2016-02-20
        • 1970-01-01
        • 2011-06-02
        • 1970-01-01
        • 1970-01-01
        • 2017-10-29
        • 1970-01-01
        相关资源
        最近更新 更多