質問: session.find_all(:xpath,"//a[contains(text(), "なんとか")]") puts variable といったコードを書くと # という風な表示がされてしまいます。 上記の例に限らず、xpathで抽出したものをputs等を用いて表示しようとすると、上述のようにわけのわからん表示が出てきて困ります。 Nokogiriだとputsを使うとDOM?html?がそのまま文字通り表示されてくれるのですが。。 Capybaraだと何らかの変換を行うような処理がされてしまっているのですかね。(というかputsでコードを表示するような目的のものではない?) 解決方法(抽出したコードをputsでそのまま表示する方法)があれば教えてください。
回答: >Nokogiriだとputsを使うとDOM?html?がそのまま文字通り表示されてくれるのですが。。 >Capybaraだと何らかの変換を行うような処理がされてしまっているのですかね。(というかputsでコードを表示するような目的のものではない?) いやいや、逆です。Nokogiriが、テキスト化するようなメソッドを定義しているので見て分かるように表示され、Capybaraでは定義していないから、そのまま出てきます。 Capybaraは使ったことないですが、textメソッドで、innerHTMLを取得できるようですよ。