Nokogiri无法使用CSS选择器

安东尼奥

我的代码:

require 'rubygems'
require 'nokogiri'
require 'open-uri'

PAGE_URL = "http://www.whoscored.com/Teams/1799/Fixtures/Spain-Almeria"

page = Nokogiri::HTML(open(PAGE_URL))

CSS_SELECTOR = "a.match-link.match-report.rc"

links = page.css(CSS_SELECTOR)

puts links.length   # => RESULT = 0
puts links[0].text   # => RESULT = none
puts links[0]["href"] # => RESULT = ./read_stats.rb:15:in `<main>': undefined method     `text' for nil:NilClass (NoMethodError)

结果应为:

1
Match Report
/Matches/738463/MatchReport

但是我的结果是:

0
./read_stats.rb:15:in `<main>': undefined method `text' for nil:NilClass (NoMethodError)

它不起作用,我看不到问题...

谢谢。

鸭1337

您需要先渲染页面,然后才能对其进行抓取。

require 'watir-webdriver'
require 'nokogiri'

$browser = Watir::Browser.start "http://www.whoscored.com/Teams/1799/Fixtures/Spain-Almeria"

$page_html = Nokogiri::HTML.parse($browser.html)

$page_html.css("td[@class='toolbar right']").each do |me|
  print "#{me.count}\n#{me.text}\n#{me.css("a").map{|link| link['href']}[0]}\n\n"
end

试用watir.com

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档