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

href does not want to get printed although I followed the path

我想在网页中输入一个link。这是它在 inspect 元素中的位置: 如您所见,要到达中的link,我必须经过:

1) < div class = "container" >

2)

3) < div class="tabbable tabs-left" >

4) < ul class ="导航...>

有很多

  • ,通常我想收集class可见phone的hrefs。我的代码不打印任何内容。我做错了什么??

    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
    
  • 对我有用,你也可以试试;)

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

    更新:

     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