Ruby on rails 通过CSS选择器方法机械化不识别锚定标记

Ruby on rails 通过CSS选择器方法机械化不识别锚定标记,ruby-on-rails,css,nokogiri,mechanize,screen-scraping,Ruby On Rails,Css,Nokogiri,Mechanize,Screen Scraping,(希望这不是违反礼节:我在RailsForum上发布了这篇文章,但最近没有得到太多回应。) 其他人有没有遇到过Mechanize无法通过CSS选择器识别锚定标记的问题 HTML如下所示(为了清晰起见,删除了带空格的代码段): 有趣的是,item.at(“a”)总是返回锚点。但e.at(“a”)返回零。当我在p元素上使用internal_html时,它会完全忽略锚点。示例输出: nil <span class="sidenavHeadType"> Photo Club</sp

(希望这不是违反礼节:我在RailsForum上发布了这篇文章,但最近没有得到太多回应。)

其他人有没有遇到过Mechanize无法通过CSS选择器识别锚定标记的问题

HTML如下所示(为了清晰起见,删除了带空格的代码段):

有趣的是,item.at(“a”)总是返回锚点。但e.at(“a”)返回零。当我在p元素上使用internal_html时,它会完全忽略锚点。示例输出:

nil

<span class="sidenavHeadType">
 Photo Club</span><br><b>Indexing Slide Collections</b>
<br>
2:00pm- 3:00pm
它识别中的,并返回href等

<span class="sidenavHeadType">
 Bridge Party</span><br><b><a href="http://www.mysite.org/index.php/site/Clubs/party_bridge_51209" class="a2">Party Bridge</a></b>
<br>
7:00pm- 9:00pm

桥牌派对

下午7:00-9:00
Mechanize应该使用Nokogiri,所以我想知道我的版本是否不好,或者这是否也会影响其他人


谢谢你的任何线索。

没关系。虚惊一场。在我的Nokogiri任务中,我指向包含锚的页面的本地副本。live页面需要登录,所以当我浏览它时,我可以看到a标签。将登录添加到rake任务解决了此问题。

很高兴您找到了解决方案:)请单击答案旁边的勾号,将问题标记为已解决。
nil

<span class="sidenavHeadType">
 Photo Club</span><br><b>Indexing Slide Collections</b>
<br>
2:00pm- 3:00pm
doc.css(".calendarCell,.calendarToday").each do |item|
  day = item.at_css("a").text
  item.css("p").each do |e|
    link     = e.at_css("a")[:href]
    puts e.inner_html
  end
end
<span class="sidenavHeadType">
 Bridge Party</span><br><b><a href="http://www.mysite.org/index.php/site/Clubs/party_bridge_51209" class="a2">Party Bridge</a></b>
<br>
7:00pm- 9:00pm