Capybara + Poltergeist + Phantomjs。无法单击按钮

时间:2014-03-25 06:19:18

标签: ruby-on-rails rspec capybara phantomjs poltergeist

我有一个按钮,点击它会将div的显示从无变为阻止。我想点击按钮,将div显示为'阻止',点击"完成"然后div的显示变为“无”。 Capybara能够点击第一个按钮,但它似乎找不到第二个按钮" Done"。我试过几种方法:

click_on("Done")
find_button("Done").trigger('click')
find_button("Done").trigger('click')
find_link("Done").trigger('click')

我甚至尝试使用javascript:

page.execute_script("document.getElementById('button_done').click()")

但没有任何反应。我在点击" Done"之前打印出弹出div的显示属性。然后点击查看按钮是否单击,但两个语句都给了我div的属性作为' block' (预期'阻止'点击"完成"并更改为"无"点击后)。 我允许它睡觉(10),但似乎没有帮助。

我在页面控制台上使用了相同的javascript,它应该可以正常工作。

任何输入?

由于

编辑:

特征:

Given I click on "Create an item"
And I chose an option
Then I should be able to create an item

步骤进行:

step "I chose an option" do
  within ('#web') do
    click_on "On"
  end
  sleep 3
  #Here is where the div gets displayed with the 'Done' button
  find('#button_done').click #(doesn't work though)
  sleep 3
  click('Create')
end

1 个答案:

答案 0 :(得分:0)

尝试查找('selector',:visible => false)