使用casperjs和phantomjs重现脚本断点

时间:2016-08-16 17:26:01

标签: javascript phantomjs casperjs

我有一个网页,可以在开始时加载.js文件。在进行一些测试后,此脚本会重定向到另一个页面。

我需要使用casperjs / phantomjs重现以下步骤。

在真实浏览器中:

  • 打开网站,
  • 在重定向之前,在该文件的一行设置断点(使用Chrome开发控制台)
  • 刷新(此后脚本执行停止)
  • 在控制台中运行我需要的一些js代码
  • 恢复脚本执行

以下是我的尝试:

casper.start( url );
casper.on("page.initialized", function(response){
    this.evaluate(function(){
       // the code I need to run before redirection ...
       // it never enters in here
    });
});
casper.run( function() {
    casper.exit();
});

casper.start( url );
casper.then( function() {
    this.evaluate(function(){
       // the code I need to run before redirection ...
    });
});
casper.run( function() {
    casper.exit();
});

当我在控制台中运行该代码时:./phantomjs script.js我在控制台中看到以下几行:

1

[debug] [phantom] Navigation requested: [WEBSITE_URL]

2

[debug] [phantom] url changed to [NEW_URL]
[debug] [phantom] start page is loaded

所以也许我应该找到一种方法来在1.和2之间运行我的js代码。

你怎么看?你有什么想法吗?

谢谢!

修改

我尝试过(按照建议):

casper.on("page.resource.requested", function(requestData, request){
    casper.evaluate(function(){
       // the code I need to run before redirection ...
    });
});

但问题仍然是它没有进入evaluate函数。

0 个答案:

没有答案