質問: end){ continue; } utils.dump(start); utils.dump(end); casper.wait(100, function() { utils.dump('wait突入'); }); } } }); //処理の実行 casper.run(); ```
回答: ご提示のプログラムですと、`casper.then()` の内部で実行された `casper.wait()` は、「waitする」という操作を登録するのみですので、実際に実行(wait)されるのは、`casper.then()` を抜けた後ですね。 (試してないですが、`then()` が他にいくつもあれば、それらの最後に追加されているのではと思います。) 似たような `casper.then()` を繰り返し記述せずに、ループの内部に記述するということで、以下のようにすれば目的の動きをしませんか? ``` // URLはYahooに変更し、ループの上限は3に変更してあります。 casper = require('casper').create(); var utils = require('utils'); casper.start(); //指定のURLへ遷移する casper.open('https://www.yahoo.com/'); //検索条件設定後、検索開始 for(var start = 0; start < 3; start++){ for(var end = 0; end < 3; end++){ if(start == end){ continue; } (function(start, end){ casper.then(function() { utils.dump(start); utils.dump(end); casper.wait(100, function() { utils.dump('wait突入'); }); }); })(start, end); } } //処理の実行 casper.run(); ```