Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取div文本数组?_Javascript_Casperjs - Fatal编程技术网

Javascript 如何获取div文本数组?

Javascript 如何获取div文本数组?,javascript,casperjs,Javascript,Casperjs,我尝试获取页面上div中的所有文本: <div class="someclass">thistext</div> 但它什么也不返回。我错了什么?我从来没有使用过casper,但是浏览了一些您使用过的函数的文档,似乎您可能在未定义的范围内调用了fetchText() ()表示“每次传递一个闭包来evaluate(),就如同使用浏览器控制台一样进入页面并执行代码。” 所以试着改变 return e.fetchText(lnks); 到 看看这对你有什么帮助。这可能会对你有

我尝试获取页面上div中的所有文本:

<div class="someclass">thistext</div>

但它什么也不返回。我错了什么?

我从来没有使用过casper,但是浏览了一些您使用过的函数的文档,似乎您可能在未定义的范围内调用了fetchText()

()表示“每次传递一个闭包来evaluate(),就如同使用浏览器控制台一样进入页面并执行代码。”

所以试着改变

return e.fetchText(lnks);


看看这对你有什么帮助。

这可能会对你有所帮助。这将生成一个DIVs文本数组

var arr=[];
函数makeDivTextArray(){
var divs=document.getElementsByTagName(“div”);
对于(变量i=0;i”;
}
text1
文本2
文本3
文本4
文本5
文本6
文本7


没有尝试过
casperjs
,尽管
lnkss
最初只在本地定义
。然后()
casper.then(function(){return this.evaluate(getLinks);}).then(function(l){for(var i in l){console.log(l[i]);})
。也不确定
getLinks
是否确实需要调用
return this.evaluate(getLinks());
?e.fetchText(lnks)
应该做什么?这看起来是错误的(调用成员函数并移交整个HTML集合)。您处于单个HTML元素的上下文中,因此
return e.innerHTML
应该可以正常工作(以获取其内容)。我更改return e.fetchText(lnks);返回e.innerHTML;但在进行更改后,如果您直接从控制台加载页面并调用getLinks(),您的输出是什么?
return e.fetchText(lnks);
return e.innerHTML;