Javascript 如何在CasperJS中获取href属性值?
下面是我如何使用代码在元素中获取href值:Javascript 如何在CasperJS中获取href属性值?,javascript,attributes,web-crawler,casperjs,Javascript,Attributes,Web Crawler,Casperjs,下面是我如何使用代码在元素中获取href值: var info = this.getElementsInfo(selector); // an array of object literals for (var i = firstp; i < info.length; i=i+interval) { if(i==0) this.echo('"'+info[i].getAttribute('href')+'"'); else this.echo
var info = this.getElementsInfo(selector); // an array of object literals
for (var i = firstp; i < info.length; i=i+interval) {
if(i==0)
this.echo('"'+info[i].getAttribute('href')+'"');
else
this.echo(',"'+info[i].getAttribute('href')+'"');
}
var info=this.getElementsInfo(选择器);//对象文字的数组
对于(变量i=firstp;i
我在中找到了一些东西,我可以用这样的代码解决我的问题:
var info = this.getElementsInfo(selector); // an array of object literals
for (var i = firstp; i < info.length; i=i+interval) {
if(i==0)
this.echo('"'+info[i].attributes.href+'"');
else
this.echo(',"'+info[i].attributes.href+'"');
}
var info=this.getElementsInfo(选择器);//对象文字的数组
对于(变量i=firstp;i
现在它可以工作了
它以前不使用getAttribute
的原因是它返回DOM节点的普通对象表示,而不是实际的DOM节点。由于CasperJS(以及PhantomJS)有两个上下文,DOM节点无法从页面上下文(内部)中传递出去。我在中找到了一些东西,我可以用如下代码解决我的问题:
var info = this.getElementsInfo(selector); // an array of object literals
for (var i = firstp; i < info.length; i=i+interval) {
if(i==0)
this.echo('"'+info[i].attributes.href+'"');
else
this.echo(',"'+info[i].attributes.href+'"');
}
var info=this.getElementsInfo(选择器);//对象文字的数组
对于(变量i=firstp;i
现在它可以工作了
它以前不使用getAttribute
的原因是它返回DOM节点的普通对象表示,而不是实际的DOM节点。由于CasperJS(以及PhantomJS)有两个上下文,DOM节点无法从页面上下文(内部)中传递出去。我在中找到了一些东西,我可以用如下代码解决我的问题:
var info = this.getElementsInfo(selector); // an array of object literals
for (var i = firstp; i < info.length; i=i+interval) {
if(i==0)
this.echo('"'+info[i].attributes.href+'"');
else
this.echo(',"'+info[i].attributes.href+'"');
}
var info=this.getElementsInfo(选择器);//对象文字的数组
对于(变量i=firstp;i
现在它可以工作了
它以前不使用getAttribute
的原因是它返回DOM节点的普通对象表示,而不是实际的DOM节点。由于CasperJS(以及PhantomJS)有两个上下文,DOM节点无法从页面上下文(内部)中传递出去。我在中找到了一些东西,我可以用如下代码解决我的问题:
var info = this.getElementsInfo(selector); // an array of object literals
for (var i = firstp; i < info.length; i=i+interval) {
if(i==0)
this.echo('"'+info[i].attributes.href+'"');
else
this.echo(',"'+info[i].attributes.href+'"');
}
var info=this.getElementsInfo(选择器);//对象文字的数组
对于(变量i=firstp;i
现在它可以工作了
它以前不使用getAttribute
的原因是它返回DOM节点的普通对象表示,而不是实际的DOM节点。由于CasperJS(就此而言还有PhantomJS)有两个上下文,因此DOM节点不能从页面上下文(内部)中传递出去。遵循以下步骤:
先找到路
some variable = 'table#dgResults > tbody > tr:nth-child(1) > td > b a';
它是这样的(这只是对“某个变量”的解释):
接下来使用getElementsAttribute
var nextStep = this.getElementsAttribute(elem, 'href');
然后将其转储:
utils.dump(nextStep);
您应该在转储时看到所有链接。请记住,this.getElementAttribute()
返回标记之间的1个值,而this.getElementsAttribute()
返回标记之间的所有值。遵循以下步骤:
先找到路
some variable = 'table#dgResults > tbody > tr:nth-child(1) > td > b a';
它是这样的(这只是对“某个变量”的解释):
接下来使用getElementsAttribute
var nextStep = this.getElementsAttribute(elem, 'href');
然后将其转储:
utils.dump(nextStep);
您应该在转储时看到所有链接。请记住,this.getElementAttribute()
返回标记之间的1个值,而this.getElementsAttribute()
返回标记之间的所有值。遵循以下步骤:
先找到路
some variable = 'table#dgResults > tbody > tr:nth-child(1) > td > b a';
它是这样的(这只是对“某个变量”的解释):
接下来使用getElementsAttribute
var nextStep = this.getElementsAttribute(elem, 'href');
然后将其转储:
utils.dump(nextStep);
您应该在转储时看到所有链接。请记住,this.getElementAttribute()
返回标记之间的1个值,而this.getElementsAttribute()
返回标记之间的所有值。遵循以下步骤:
先找到路
some variable = 'table#dgResults > tbody > tr:nth-child(1) > td > b a';
它是这样的(这只是对“某个变量”的解释):
接下来使用getElementsAttribute
var nextStep = this.getElementsAttribute(elem, 'href');
然后将其转储:
utils.dump(nextStep);
您应该在转储时看到所有链接。请记住,
this.getElementAttribute()
返回标记之间的1个值,而this.getElementsAttribute()
返回标记之间的所有值。没有问题。当你写一个答案时,最好加上一个描述,说明为什么事情是这样的。我给你加了一个主题更广泛的,没关系。当你写一个答案时,最好加上一个描述,说明为什么事情是这样的。我给你加了一个主题更广泛的,没关系。当你写一个答案时,最好加上一个描述,说明为什么事情是这样的。我给你加了一个主题更广泛的,没关系。当你写一个答案时,最好加上一个描述,说明为什么事情是这样的。我为你添加了一个更广泛的主题。