如何在使用Poltergeist时获取元素的HTML?

jan*_*o-m 16 ruby capybara poltergeist

我正在使用Capybara和Poltergeist司机.我的问题是:如何获取节点的HTML(字符串)?

我已经读过使用RackTest驱动程序你可以这样得到它:

find("table").native         #=> native Nokogiri element
find("table").native.to_html #=> "..."
Run Code Online (Sandbox Code Playgroud)

但是,Poltergeist调用#native一个节点会返回一个Capybara::Poltergeist::Node,而不是一个原生的Nokogiri元素.然后#native再次调用Capybara::Poltergeist::Node返回相同的Capybara::Poltergeist::Node(也就是说,它返回self).

不得不从整个页面查看HTML以找到我正在寻找的内容,这有点令人恼火:P

sup*_*roi 9

我正在为这里的其他人添加这个答案.解决方案很简单.

按照您提供的示例,它将是:

find("table")['outerHTML']
Run Code Online (Sandbox Code Playgroud)