【发布时间】:2015-02-06 01:57:37
【问题描述】:
当我单击一个按钮时,会显示一个引导模式弹出窗口。我尝试使用如下 Poltergeist 功能单击“确定”或“取消”按钮,但没有任何效果。要么功能不起作用,要么在外面点击。
<div class="modal-footer">
<a class="btn cancel" data-dismiss="modal" href="#">Cancel</a>
<a class="btn proceed btn-primary" href="#">OK</a>
</div>
click_link "Release"
page.driver.render('ReleaseOKCANCEL.jpg', :full =>true)
点击“释放”后,将出现一个带有确定和取消按钮的引导模式,可以通过屏幕截图进行验证。尝试使用以下命令单击“确定”按钮。
- page.find('.btn.proceed.btn-primary').trigger('click')
- click_link('OK')
- page.execute_script('$(".btn.proceed.btn-primary").trigger("click")')
- page.execute_script('$(".btn.proceed.btn-primary").trigger("hover").trigger("click")')
- page.all(".//*[@id='confirmation_dialog']/div[3]/a[2]").first.click
- click_button“确定”
- 点击“确定”
- page.dismiss_confirm 做 page.find('.btn.proceed.btn-primary').click end
- page.find('.modal').find('.modal-footer').find('.btn.proceed.btn-primary').trigger('click')
但是没有任何效果。单击“确定”按钮后,应用程序中的状态将发生变化。但这不会发生。
【问题讨论】:
-
1) page.find('.modal').find('.modal-footer').find('.btn.proceed.btn-primary').trigger('click') 2) page.find('.btn.proceed.btn-primary').trigger('click') 3) click_link('OK') 4) page.execute_script('$(".btn.proceed.btn-primary ").trigger("click")') 5) page.execute_script('$(".btn.proceed.btn-primary").trigger("hover").trigger("click")') 6) 页面.all(".//*[@id='confirmation_dialog']/div[3]/a[2]").first.click 7) click_button "OK" 8) click_on "OK" 9) page.dismiss_confirm 做page.find('.btn.proceed.btn-primary').click end
-
版本 - Poltergeist - 1.5.1 Capybara- 2.4.4 Ruby - 1.9.3 我正在通过 rspec “带路径的文件名”运行
-
你确定你真的能找到这些元素吗?我遇到了类似的问题,结果发现模态的 div 的深层堆栈位于 iframe 中,这是另一个 DOM 上下文(这样说)
-
可见,我可以通过 page.driver.render(@screenshotLoc + 'page.jpg', :full =>true) 看到它
-
这不是我问的,你能通过 jquery 选择器访问它吗?
标签: rspec capybara poltergeist