Ruby on rails 如何使用Watir等待JavaScript加载,然后使用Nokogiri刮取页面

Ruby on rails 如何使用Watir等待JavaScript加载,然后使用Nokogiri刮取页面,ruby-on-rails,watir,Ruby On Rails,Watir,我正在尝试从动态加载内容的页面中刮取一个页面。 我正在尝试使用“player-content\uu包装器”类获取加载到DIV内部的内容 我正在尝试使用Watir等待内容加载,然后在我想要的内容出现后使用Nokogiri刮去该页面,但我不确定如何操作: def scrape browser = Watir::Browser.new browser.goto('https://www.rotoworld.com/basketball/nba/player/30573/marvin-bagle

我正在尝试从动态加载内容的页面中刮取一个页面。 我正在尝试使用
“player-content\uu包装器”
类获取加载到DIV内部的内容

我正在尝试使用Watir等待内容加载,然后在我想要的内容出现后使用Nokogiri刮去该页面,但我不确定如何操作:

def scrape
  browser = Watir::Browser.new
  browser.goto('https://www.rotoworld.com/basketball/nba/player/30573/marvin-bagley')
  js_doc = browser.element(css: ".player-content__wrapper").wait_until(&:present?)
  new_doc = Nokogiri::HTML(js_doc)
  browser.close
end
我正试图将我想要加载到
js_doc
变量中的内容保存到页面中,但我遇到以下错误:

NoMethodError: undefined method `empty?' for #Watir::HTMLElement:0x00007fda322b0a70

您希望传入内部的html,而不是Watir元素本身;试试看:
js_doc.inner_html
@titusfortner,非常感谢!!!!!就这样!!最后一个问题,我正在尝试在后端设置整个刮片功能,因此我不希望每次调用该功能时都有一个新的浏览器窗口打开,是否可以这样做?请参阅“”和“”。所以它不是留言板,更像是一本参考书,语法、拼写、格式和细节都很重要。