首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用xpath [position() <= 6]选择前6个元素

使用xpath [position() <= 6]选择前6个元素
EN

Stack Overflow用户
提问于 2019-08-26 09:20:44
回答 1查看 105关注 0票数 1

我正在从一个网站上抓取一些图像数据。没问题。但是我的用法不是很好。

我的xpath查询就在下面。尝试使用position()选择前6个el。但它仍然返回所有元素。

代码语言:javascript
复制
  $route = $path->query("//li/img[@class='lazy'][position() <= 6]");
  foreach($route as $val){

      var_dump(trim($val->getAttribute("data-original")));

  }

我不确定我在这里做错了什么?除了position()之外,还有没有其他方法来选择前6个元素

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-26 09:28:27

我觉得你需要这个。

代码语言:javascript
复制
  $route = $path->query("//li[1]/img[@class='lazy' and position() <= 6]");
  foreach($route as $val){

      var_dump(trim($val->getAttribute("data-original")));

  }

如果您不想指定<li>的索引,则需要使用计数器。

代码语言:javascript
复制
 $route = $path->query("//li/img[@class='lazy' and position() <= 6]");
 $ctr = 0;
      foreach($route as $val){
         if ($ctr <= 6){
          var_dump(trim($val->getAttribute("data-original")));
         }
         $ctr = $ctr + 1;
      }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57650881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档