CasperJS を使用して、一連のクリック、フォームへの入力、データの解析などを Web サイトで自動化しています。
then
Casper は、ステートメントの形式で事前設定されたステップのリストに編成されているようです(ここで例を参照してください: http://casperjs.org/quickstart.html )。
たとえば、then
保留中のすべてのリクエストが完了するのを待ちますか? injectJS
保留中のリクエストとしてカウントされますか? then
ネストされたステートメント (ステートメントの最後にチェーンされたステートメント)がある場合はどうなりopen
ますか?
casper.thenOpen('http://example.com/list', function(){
casper.page.injectJs('/libs/jquery.js');
casper.evaluate(function(){
var id = jQuery("span:contains('"+itemName+"')").closest("tr").find("input:first").val();
casper.open("http://example.com/show/"+id); //what if 'then' was added here?
});
});
casper.then(function(){
//parse the 'show' page
});
CasperJS でフローがどのように機能するかについての技術的な説明を探しています。私の具体的な問題は、私の最後のthen
ステートメント (上記) が私のcasper.open
ステートメントの前に実行され、理由がわからないことです。