Ruby on rails 使用Nokogiri,我无法在文档中找到某些节点
尝试搜索文档以查找此页面上的Ruby on rails 使用Nokogiri,我无法在文档中找到某些节点,ruby-on-rails,ruby,nokogiri,Ruby On Rails,Ruby,Nokogiri,尝试搜索文档以查找此页面上的ysr bio data(“高度”值)时 节点为零。这是因为nokogiri在填充此部分之前获得了页面吗?或者是nokogiri对象没有将整个页面存储到它的对象中? 下面是我如何尝试检索数据的一些示例代码。谢谢 doc = Nokogiri::HTML(open('http://sports.yahoo.com/footballrecruiting/football/recruiting/player-Jonathan-Allen-125805')) doc.css
ysr bio data
(“高度”值)时
节点为零。这是因为nokogiri在填充此部分之前获得了页面吗?或者是nokogiri对象没有将整个页面存储到它的对象中?
下面是我如何尝试检索数据的一些示例代码。谢谢
doc = Nokogiri::HTML(open('http://sports.yahoo.com/footballrecruiting/football/recruiting/player-Jonathan-Allen-125805'))
doc.css('ul#ysr-bio-data')
如果我需要提供任何其他信息,请让我知道。谢谢
编辑:修复了不正确的语法。我在stackoverflow上发现了另一个问题,它提供了解决问题的方法
对不起,bud,但是需要在页面上运行javascript才能填写这些单元格 你可以这样做。。使javascript在web浏览器中运行
require 'nokogiri'
require 'watir-webdriver' #http://watir.com/
$browser = Watir::Browser.start "http://sports.yahoo.com/footballrecruiting/football/recruiting/player-Jonathan-Allen-125805"
doc = Nokogiri::HTML.parse($browser.html)
doc.css("ul#ysr-bio-data").text
=> "Ht:6'3\"Wt:263 lbs40:4.5 secsBench Max:280Class:2013 (High School)\t"
我们基本上是用watir替换openuri
希望这有帮助
doc.css('ul#ysr bio data')
仅使用doc.css('#ysr bio data')
表单。@majioa,我的道歉我在代码中使用的引号没有正确复制过来。使用引号后,我仍然无法返回节点对象。谢谢有引号但没有ul
?@majioa,是的,两个都试过了。我能用我提供的答案解决它。这些信息是用ajax之类的工具提供的。所以我需要一种方法首先将数据加载到内存中。