バージョン情報
- gem capybara (3.33.0)
本題
find('.test-class')['innerHTML']
でできるよ。
Capybaraでfindした要素のHTMLを取得したかった。
まず、findの返り値が何のクラスか見てみたところ、Capybara::Node::Element
というクラスだということが分かった。
このドキュメントを参照して、それっぽいメソッドがないか見てみた。
見てみたんだけど、無さそうだよね、一見。なので調べたら、次のqiitaが出てきた。
https://qiita.com/maangie/items/4522fb16a0fd78fd150e
この情報が古いのか、やってみてもまったくhtmlを取得できないんだよね。
で、ドキュメントに戻る。
#[](attribute) ⇒ String
Retrieve the given attribute.
はぁはぁ、なるほど。このattributeがhtmlのattributeのことを指しているのだとしたら、['innerHTML']
でいけるはずだなと。
ちょっと次の用に試してみた。
find('.test-class')['innerHTML']
いけました!