虽然我遵循了路径,但href不想打印

时间:2015-05-21 08:22:32

标签: html ruby xpath nokogiri mechanize

我想在网页中输入一个链接。这是它在inspect元素中的位置: enter image description here  正如您所看到的,要到达<中的链接。身体>,我必须通过:

1)< div class =“container”>

2)< div id =“结果内容>

3)< div class =“tabbable tabs-left”>

4)< ul class =“nav ...>

有很多< li>,通常我想收集类可见电话的href。我的代码没有打印任何内容。我做错了什么?

agent = Mechanize.new
page = agent.get('http://openie.allenai.org/search?arg1=&rel=contains&arg2=antioxidant&corpora=')
array = page.search('//body/div[@id="result-content"]/div[@class="tabbable tabs-left"]/ul[@class="nav nav-tabs"]/li[@class="visible-phone"]/a').each do |x|
    puts x['href']
end

1 个答案:

答案 0 :(得分:0)

它对我有用,你也可以尝试;)

  array = page.search('//*[@class="visible-phone"]/a').each { |i|
    puts i['href']
  }

UPD:

 first_link_page = page.link_with(:href => array.first['href']).click

UPD2:

array = page.search('//*[@class="visible-phone"]/a')
first_link_page = page.link_with(:href => array.first['href']).click