CasperJS:从提交后加载的页面读取网页

时间:2018-06-12 18:15:55

标签: javascript phantomjs casperjs

我的目标是使用casperJS从已发布页面(表单提交后加载的页面)读取数据。

说明: 我在casperJS中有脚本,它读取网页http://www.example.com/details并登录控制台。 我没有从这个初始页面阅读问题。 现在有一个href链接,在点击它时将表单提交给相同的url(表单动作自我)http://www.example.com/details并更新dom元素中的一个新获取的数据。

我希望在表单提交后加载页面后读取新获取的数据。

以下是执行此过程的脚本部分。

casper.start('http://www.example.com/details', function () {
this.page.injectJs('/path../to../jquery.min.js');
casper.evaluate(function () {
    var all_data = $('.selector').text();
    console.log(JSON.stringify(all_data));
});

// submitting hidden form by clicking href
$('.formSubmit').click();
casper.then(function(){
    casper.wait(5000, function(){
        casper.evaluate(function () {
            var new_data = $('.selector').text();
            console.log(JSON.stringify(new_data));
            });
        });
    });
});

1 个答案:

答案 0 :(得分:0)

可能根本没有提交表单,请尝试:

casper.then(function(){ this.mouseEvent('click','.formSubmit'); });

而不是$('.formSubmit').click();