我们可能遇到一些网页,页面上并没有翻页按钮,而是一排页码,我们需要直接点击页码进行翻页。这种方式如何解决呢。

 

首先我们打开一个这样的网页,如:http://stock.cngold.org/news/


打开之后翻页页面如下图显示


图片

 

可以在火狐看下这个翻页的源码,如下图所示:


当前页在第一页,源码是span标签开头的,其他页面是a标签开头的。


图片1

 

我们再翻到其他页,看看是不是也是这个特点。可以看到当前页在第7页,第7页的源码显示是span开头的,其他页码变为a标签开头的。


图片2

 

我们可以根据这个特点相应的写xpath,然后手动创建翻页循环。

我们需要让八爪鱼选择的是当前页的下一页,也就是span元素的后面一个元素,

这时我们需要检验如何写Xpath才能准确定位到当前页。

借助于火狐浏览器,我们先定位span标签


图片3


看上图这个页面里面span标签有很多,我们再看一下原本需要的span标签,可以看到span标签里面的class属性,根据这个属性定位。


图片4


如下图,//span[@class=’thisclass’]即能定位到我们需要的当前页


图片5 

接下来我们打开八爪鱼中的Xpath工具,生成选择后面元素的Xpath


数字翻页1 

利用following-sibling定位当前页的下一页,后面元素是a,我们将a加在刚刚生成的Xpath后


//span[@class=’thisclass’]/following-sibling::a可以定位到当前span下面的所有兄弟元素,注意这个following-sibling后面的::是固定格式


图片6

 

由于我们只需要定位到当前页的下一页,所以只需要定位到第一个a标签,即给a一个标号//span[@class='thisclass']/following-sibling::a[1]


图片7 

可以看到当前页为第7页,现在定位到了它的下一页即第8页。

接下来我们在八爪鱼里面手动创建翻页循环

 

我们先往流程设计器里面拖入一个循环步骤,再在高级里面选择单个元素,并把写好的xpath路径//span[@class='thisclass']/following-sibling::a[1]复制到单个元素里面去,点击保存之后可以看到循环列表为当前页的下一页即第2页


数字翻页2 

做好之后再往循环里面拖入一个点击元素的步骤,并在高级里面勾选点击当前循环中设置的元素,并保存。


数字翻页3 

设置好之后可以在流程设计器中验证我们做的翻页循环是否正确。


数字翻页4


选择点击元素,可以看到下方浏览器正常翻页。