我有一个问题,关于selenium+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);