カテゴリー別アーカイブ: capybara

capybara 「undefined method `node_name’ for nil:NilClass」


capybaraで送信ボタンを押したいときは、

1
click_on '送信'

とかすると思うんだけど、これを実行するときに

1
undefined method `node_name' for nil:NilClass

というエラーで落ちた。

save_and_open_pageとかで何度確認しても「送信」ボタンは存在するんだが、なぜか落ちる。
エラー文読むと、「送信ボタンが見つからない」ってエラーにはなって無いから当然なんだが・・

で、これの原因がどうやらHTML構造の崩れによるものらしい。

例えば、

1
2
3
4
<div>
  <p>
</div>
</p>

とか、よろしくない構造になっていると、このエラーを出すとのこと。

よくHTMLを確認したら、変な場所がありました・・・。

HTMLの構造が崩れてても、普通はエラーなんて出てこないから油断してたー!