2017-01-10 23 views
0

シンプルな機能仕様を書こうとしていますが、私はカピバラの動作を理解していません。だから、私は、そのコードがあります。なぜカピバラはCSSを見つけることができませんか?

> parent.class 
=> Capybara::Node::Element 
> parent.find(:css, 'button.remove-arrow') 
=> Capybara::ElementNotFound: Unable to find css "button.remove-arrow" 
from /Users/weare138/.rvm/gems/ruby-2.3.3/gems/capybara-2.11.0/lib/capybara/node/finders.rb:44:in `block in find' 

をしかし、私が何をしようとすると、ウェブ・ドライバを介して呼び出す:

> parent.native.find(:css, 'button.remove-arrow') 

は、それは私が右の私が間違って何をすべきか

=> [#<Capybara::Poltergeist::Node tag="button" path="//HTML[1]/BODY[1]/DIV[1]/SECTION[1]/DIV[1]/FORM[1]/DIV[2]/DIV[2]/DIV[1]/DIV[2]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/BUTTON[1]">] 

答えを返しますか?

答えて

2

ほとんどの理由は、ノードが実際にはページに表示されないことです。これはCapybaraが考慮しますが、ドライバはそうではありません。 If

parent.find(:css, 'button.remove-arrow', visible: :false) 

この要素を見つけると、実際には視認性が違いであることが確認されます。そうでない場合は、実際のHTML/CSSがなぜ必要かを知る必要があります。

+0

レームチェックThomas –

+0

ha!私は奇妙なものをもう一度得た、今テストは笑 –

+0

ありがとうトーマス:D –

関連する問題