本文介绍了我需要用casperjs提取所有id值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
id = casper.evaluate(function() {
return Array.prototype.map.call(document.querySelectorAll("image"),
function(e) {return e.getElementById();});});
this.echo(id);
推荐答案
-更新-
如果要获取包含特定类
的元素,只需使用辅助函数来抓取您要查找的元素。
If you want get elements containing a specific class
just use a helper function to scrape the elements you are looking for.
示例:
var casper = require('casper').create();
var ids = [];
function getIdsByClassValue() {
// use your selector here eg. '.image'.
var elems = document.querySelectorAll('input[type="submit"]');
return Array.prototype.map.call(elems, function (e) {
// change to the attribute you are looking for.
return e.getAttribute('value')
});
}
casper.start('https://www.google.com/');
casper.then(function () {
ids = this.evaluate(getIdsByClassValue);
});
casper.run(function() {
this.echo('\n - ' + ids.join('\n - ')).exit();
});
您可以使用 getElementsAttribute
来做到这一点。
You can use getElementsAttribute
to do that.
签名:getElementsAttribute(字符串选择器,字符串属性)
Signature: getElementsAttribute(String selector, String attribute)
检索每个元素上与提供的选择器匹配的一个属性:
这里是一个示例。
var ids = [];
var casper = require('casper').create();
casper.start('https://google.com/', function() {
this.wait(1000, function() {
ids = this.getElementsAttribute('*', 'id')
.filter(function(id) {
return id.length > 0;
})
});
});
casper.then( function() {
this.echo('\n - ' + ids.join('\n - ')).exit();
})
casper.run();
这篇关于我需要用casperjs提取所有id值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!