如何使用Mechanize Ruby模拟span中的click?

时间:2014-10-10 14:50:36

标签: ruby mechanize

我有一个包含网页列表的网页:

<div class="pager">    
  <span class="current_page">1</span>
  <span class="page" samo:page="2">2</span>
  <span class="page" samo:page="3">3</span>
  <span class="page" samo:page="4">4</span>
  <span class="page" samo:page="5">5</span>
  <span class="page" samo:page="6">6</span>
  <span class="page" samo:page="7">7</span>
  <span class="page" samo:page="8">8</span>
  <span class="page" samo:page="9">9</span>
  <span class="page" samo:page="10">10</span>
  <span class="page" samo:page="11">11</span>
</div>

如何使用mechanize点击跨度?

1 个答案:

答案 0 :(得分:0)

根据此ASCIIcast,您可以执行搜索和发现:

  

我们可以使用两种方法来提取页面对象   使用Nokogiri的页面中的元素。其中第一个叫做   并将返回与选择器匹配的单个元素。

agent.page.at(".edit_item")  
     

第二种方法是搜索。这是类似的,但返回一个数组   所有匹配的元素。

agent.page.search(".edit_item")

http://asciicasts.com/episodes/191-mechanize

做类似的事情:

agent.page.at(".page")

将返回跨度数组。然后你就可以和他们一起工作,只做#click动作。

编辑:

只要span是非交互元素,click是一个Link操作,您就必须找到一个解决方法:

How to click link in Mechanize and Nokogiri?