17

Poltergeist ドライバーで Capybara を使用しています。私の質問は: ノードの HTML (文字列) を取得する方法は?

RackTest ドライバーを使用すると、次のように取得できることを読みました。

find("table").native         #=> native Nokogiri element
find("table").native.to_html #=> "..."

#nativeただし、ノードで Poltergeist を呼び出すとCapybara::Poltergeist::Node、ネイティブの Nokogiri 要素ではなく、 が返されます。そして、 を#nativeもう一度呼び出すとCapybara::Poltergeist::Node、同じCapybara::Poltergeist::Nodeことが返されます (つまり、 が返されますself)。

探しているものを見つけるために、ページ全体から HTML を見なければならないのは少しイライラするようになりました:P

4

3 に答える 3

10

ここに着陸する他の人のために、この回答を追加しています。解決策は非常に簡単です。

あなたが提供した例に従うと、次のようになります。

find("table")['outerHTML']
于 2016-01-21T21:24:25.817 に答える
-1

それはこのように行うことができます

google.co.in で、インドをフェッチしたい

ここに画像の説明を入力

関数の下のstep.rbファイルにこの行を書きます

x =  page.find(:xpath,'//*[@id="hplogo"]/div' , :visible => false).text
puts x  

x は「インド」を表示します

ターミナル o/p

ここに画像の説明を入力

于 2014-01-25T08:35:04.997 に答える