繁体   English   中英

PHP + Selenium,如何<a href…>从一页</a>获取所有<a href…>标签</a>

[英]php + selenium, how to get all <a href…> tags from one page

我有一个关于硒+ php的问题(使用PHPUnit_Extensions_SeleniumTestCase):

我正在经历一个循环,试图通过做类似的事情从网页中获取所有元素:

 $i = 1;
 while ( $this->isElementPresent("//a[" . $i . "]")) {
      $tagContents = $this->getText("//a[" . $i . "]");
      print $tagContents . "\n";
      $i++;
 }

而且并没有找到所有元素:(如果我尝试通过$ this-> getText()获取内容,则将填充很少的内容,有些则为空,并且标记的总量比我在页面上实际的少

有人知道我可能做错了什么吗?

Selenium中有一个非常有用的方法getAllLinks() 这里

返回页面上所有链接的ID。 如果给定的链接没有ID,则在此数组中将显示为“”。



取而代之的是,您可以使用javascript获取所有链接(请getElementsByTagName() - 示例 )。

编辑
好的,我已经为您完成了(我正在从事类似的工作);)

$js = "function getAllLinks() {
           var links = window.document.getElementsByTagName('a');
           var contents = [];
           for (i = 0; i < links.length; i++) {
               var link = links[i];
               var text = link.textContent;
               contents.push(text);
           }
           return contents;
       }
       getAllLinks();";
$links = $this->getEval($js);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM