我是Casperjs的新手,我正在尝试迭代一系列元素并对它们执行与Casper相关的任务。但是,我在检索要执行这些Casper任务的对象数组时遇到问题。我正在使用此函数选择所有元素的列表
getLinks = ->
links = document.getElementsByClassName('text-item')
然后用
评估函数casper.then( ->
links = this.evaluate(getLinks)
)
最后尝试用
打印出数组casper.run( ->
this.echo(links).exit()
)
但所有返回的内容都是[object Object]
。我究竟做错了什么?当我在浏览器中运行document.getElementsByClassName('text-item')
时,会返回一组<p>
标签(我正在寻找的),所以我不确定出了什么问题。
非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
您无法使用evaluate返回对象。
您应该尝试将所需的原始数据(在您的情况下为文本信息)放在数组中并返回此数组而不是返回对象数组。
另一种可行的方法(未经考虑的思考)是使用JSON.stringify()和JSON.parse()来绕过evaluate()限制。