2014-04-14 58 views
0

頁面的源代碼:水豚:無法找到的CSS(從save_and_open_page)再次

<a class="btn btn-mini btn-danger" data-confirm="Are you sure?" data-method="delete" href="/slides/1" rel="nofollow">Delete</a> 

規格/功能/ slides_spec.rb:

scenario "Delete slide" do 
    visit album_slides_url slide.album 
    # save_and_open_page 
    expect{page.find('btn btn-mini btn-danger').click}.to change(Slide, :count).by(-1) 
    end 

錯誤:

Unable to find css "btn btn-mini btn-danger" 

對於類似的問題,有幾個Q & A,但我沒有找到任何解決方案。有任何想法嗎 ?

回答

2

在CSS選擇器類中,通過以點開頭來標識,容易忘記。另外,如果你想找到一個指定了所有類的元素,那麼它們之間不能有任何空白;否則它正在尋找孩子。

page.find('.btn.btn-mini.btn-danger') 
1

另外,您也可以使用

expect{click_link('Delete')}.to change(Slide, :count).by(-1) 

其簡單得多找到textDelete在這種情況下,anchor元素(..)和火click_link事件就可以了。

+0

我無法使用它,因爲我在那裏有更多的「刪除」按鈕。我需要單擊的那個不同於'btn-mini'CSS類。這就是爲什麼我嘗試通過CSS選擇它。 – pawel7318

+0

這很好。在那種情況下,Jacob的解決方案是完美的。但請記住在這種情況下'.btn.btn-mini.btn-danger'對於單個刪除鏈接應該是唯一的,否則它只會找到給定類的第一個「刪除」鏈接並單擊它。 –

相關問題