【问题标题】:Capybara/cucumber css mouseover and click on elements displayed on hover eventCapybara/cucumber css mouseover 并单击悬停事件上显示的元素
【发布时间】:2015-11-24 06:41:25
【问题描述】:

我是使用黄瓜和水豚的新手。我需要点击使用水豚将鼠标悬停在网页的某些元素上后显示的链接

例如att.com

1。方案是悬停在个人点击 att.com

2。将鼠标悬停在 Shop --Bundles 上的另一种场景 - 点击 Popular Bundles

如何使用 capybara 的 hover 和 click 方法来完成,或者有没有其他方法可以做到这一点。

尝试的选项是

  find(:xpath, ".//*[@id='ge5p_z2_p1001']").hover
  find(:xpath, ".//*[@id='ge5p_z2_t1038']").click

但它抱怨找不到 xpath

【问题讨论】:

  • 能否提供您所讨论部分的完整html
  • @Richlewis - 示例页面是 att.com
  • 我看看,但这是一个糟糕的问题

标签: ruby selenium-webdriver cucumber capybara


【解决方案1】:

这里有两个选项,取决于您的测试内容

1) 如果你想测试悬停事件触发,然后链接是可点击的,那么试试

find('.ge5p_z1-drop-down').hover
expect(page).to have_selector('.ge5p_z1-menu', visible: true) # check that menu is shown (need to have rspec for this)
click_link('att.com')

2) 如果您只是想测试下拉链接是否将您带到正确的页面,请将它们视为链接

click_link('att.com', visible: false) # this is hidden by default

让我知道你是怎么做的,我还没有测试过,但应该解决你的问题

【讨论】:

    【解决方案2】:

    我在单击仅当鼠标放在图片(照片)上时才会出现的按钮时遇到问题,经过大量研究后发现:

    find('#follow', visible: false).trigger(:click)
    

    在我的例子中,按钮是一个链接,只有这样我才能使我的测试通过。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      • 2015-10-07
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 2011-04-04
      相关资源
      最近更新 更多