javascript - 是否可以对已通过 getElementsInfo 检索到的元素使用 getElementsInfo?

标签 javascript phantomjs casperjs

我想知道是否有一种方法可以调用 casperjs getElementsInfo 两次,我尝试过执行类似于下面的操作,但没有成功。想知道是否有解决办法?

var rows = this.getElementsInfo('table.dateentrytable tr');
var cells = rows[0].getElementsInfo('td');

最佳答案

你不能,我为此类情况找到的解决方案使用 XPath 和 while 循环,例如,此代码循环遍历行数未定义的表:

i= 1;
var x = require('casper').selectXPath;
 while (this.exists(x('/html/body/form/div[3]/div[4]/div/div/div/table/tbody/tr[' + i + ']/td[1]'))) {
     this.echo(this.fetchText(x('/html/body/form/div[3]/div[4]/div/div/div/table/tbody/tr[' + i + ']/td[1]')));
     this.echo(this.fetchText(x('/html/body/form/div[3]/div[4]/div/div/div/table/tbody/tr[' + i + ']/td[2]')));
     i++;
}

在您的情况下,请使用 getElementInfo() 代替 echo()。

关于javascript - 是否可以对已通过 getElementsInfo 检索到的元素使用 getElementsInfo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51163933/

相关文章:

javascript - 如何通过 Create React App 在开发模式下使用 Service Worker?

javascript - 在 PhantomJS 上运行时 Karma 测试失败

python - 从亚马逊抓取网页内容

node.js - openshift 服务器中的 casperjs

javascript - 如何使用CasperJS填写验证码?

javascript - 通过指定开始和结束字符来拆分字符串

javascript - 如何使用extjs在Widget中实现Tab面板?

javascript - 添加到包含表单内容的列表

phantomjs - 停止 Casper JS 中的导航请求

javascript - 如何使用 CasperJS 发送退出按键(以关闭模式)?