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