2

有很多类似的帖子问这个问题:

如何将鼠标悬停在 Selenium Ruby 中的元素上(鼠标悬停)?

Selenium2 WebDriver Ruby => 如何点击隐藏链接

Ruby Mouse Over 不够长,可能需要某种延迟

鼠标悬停动作的代码。

我有div.rating-panel它是隐藏的,直到div.empty-stars-container悬停在上面。我想模拟用户悬停div.empty-stars-containerdiv.rating-panel.

it "should create rating items" , :js => true do
  # wait = Selenium::WebDriver::Wait.new(:timeout => 10) # seconds

  empty_stars = page.driver.browser.find_element(:css, "h1 .empty-stars-container")
  star_3 = page.driver.browser.find_element(:css, "h1 a#panel_1_star_3")
  new_save = page.driver.browser.find_element(:css, "input#new_save")

  page.driver.browser.action.move_to(empty_stars).perform
  # wait.until { star_3.displayed? == true }

  star_3.click
  new_save.click

  page.should have_css("div.user-stars-container")
end

浏览器打开,并执行了move_to操作(我假设)但面板永远不可见!我试过了,wait.until但这只是导致超时。

测试失败star_3.click并显示错误消息

Element is not currently visible and so may not be interacted with

我希望有一种方法可以做我想做的事情,因为我的应用程序中有很多 javascript 测试,我希望 Selenium 能提供必要的帮助。

有任何想法吗?

4

0 回答 0