我试图抓取一个html(只使用没有ID的表作为结构>并且尝试获取每个值但是失败了,我必须使用findAll函数但它接缝得到null。
下面是我在第二层获得的表格数据。
<tbody><tr bgcolor="#FFCC66" valign="top">
<td><b>No</b></td>
<td><b><a href="search.php?></a></font></b></td>
<td><b><a href="search.php?>Prize</a></font></b></td>
<td>.....
<tr/>
<tbody/>
以下是我尝试在casper.evaluate()
中应用的代码,但它返回null
但不是我需要的数据。
var verbs = casper.evaluate(function () {
//First layer to peal off all table and added in map to get which table i wanna to.
var map = [].map.call(__utils__.findAll('table table'), function (e) { return e.innerHTML; });
//map[12] is the table contain multiple tr where i wish to get the value out of td between each tr.
var data = map[12];
// var newdata = '<html>\n<table>\n'+data+'\n</table>\n</html>';
var mapout = [].map.data(__utils__.findAll('tbody tr'), function (e) { return e.innerHTML; });
return mapout;
});
答案 0 :(得分:0)
如果你想要所有的行(我猜是这样的话),这应该是一种更简单的方法:
var rows = casper.evaluate(function() {
return document.querySelectorAll("table tbody tr");
});
之后你可以遍历所有行。