2017-05-12 4 views
0

私はhtmlを捨てようとしていました(そのIDは構造体としてIDを持たないテーブルのみを使用し、各値を取得しようとしましたが失敗しました。findAll関数しかし、それがnullを取得シーム。以下casperjを使用してcasperjsでテーブルを削るより良い方法

、私は第二層に入るのテーブルデータである。以下

<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ではなく、データIました必要です。

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

あなたはすべての行(と私は推測する)、これはそれを得るための簡単な方法でなければなりませんしたい場合:その後

var rows = casper.evaluate(function() { 
    return document.querySelectorAll("table tbody tr"); 
}); 

を、あなたはすべての行をthrought繰り返すことができます。

+0

私はこれを行うと思う...しかし、誰かが良いアイデアを持っている場合は素晴らしいだろう –

関連する問題