我的页面上有以下代码:
<div class="row column filter-tab">
<div id="filter-button" class="button"><%= fa_icon 'filter' %></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我有一个试图做的rspec测试
page.find('#filter-button').click
Run Code Online (Sandbox Code Playgroud)
我收到了可怕的
Capybara::ElementNotFound:
Unable to find css "#filter-button"
Run Code Online (Sandbox Code Playgroud)
如果我在测试中放置断点,我可以检查HTML并看到元素存在,并且我能够与它进行交互.
(byebug) page.has_css?('#filter-button', visible: false)
false
Run Code Online (Sandbox Code Playgroud)
以及
$('#filter-button')
Object { length: 1, context: HTMLDocument ? moves, selector: "#filter-button", 1 more… }
Run Code Online (Sandbox Code Playgroud)
我开始没有想法了.我唯一能想到的是,这个按钮位于一个容器内,在页面加载后通过javascript定位(只是通过增加顶部CSS值) - 但即便如此,我认为它仍然可以在页面然后显示:false/visible:all.
检查您是否click不在另一个块内,within例如:
within "#some_other_element" do
#lots of other checks...
page.find('#filter-button').click
end
Run Code Online (Sandbox Code Playgroud)
我以前经常陷入这个陷阱,特别是在附加到文档正文的模态中(在原始选择器之外)。
| 归档时间: |
|
| 查看次数: |
2204 次 |
| 最近记录: |