CasperJS:为什么我的网址加载时会更改为:空白?

Jak*_*rak 11 javascript phantomjs casperjs

我是PhantomJS/CasperJS的初学者.

我只是想开始一个会话并验证它没问题.

这是我的代码:

var casper = require('casper').create({
    verbose: true,
    logLevel: 'debug',
    pageSettings: {
        loadImages: false,
        loadPlugins: false,
        userAgent: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0'
    }
});

casper.on('remote.message', function(msg) {
    this.echo('remote message caught: ' + msg);
});

casper.on("page.error", function(msg,trace) {
    this.echo("Page Error: " + msg, "ERROR");
});

casper.start('https://www.google.fr');

casper.then(function(){
    console.log('Page Loaded');
    this.test.assertTitle('Google', 'Welcome to Google');
});

casper.run();
Run Code Online (Sandbox Code Playgroud)

当我运行这个简单的脚本时,我得到:

C:\Users\Booky\Documents\nike_project>casperjs --ignore-ssl-errors=true --ssl-protocol=tlsv1 debug.js

C:\Users\Booky\Documents\nike_project>[info] [phantom] Starting...
[info] [phantom] Running suite: 3 steps
[debug] [phantom] opening url: https://www.google.fr/, HTTP GET
[debug] [phantom] Navigation requested: url=https://www.google.fr/, type=Other, willNavigate=true, isMainFrame=true
[debug] [phantom] url changed to "https://www.google.fr/"
[debug] [phantom] Successfully injected Casper client-side utilities
[debug] [phantom] start page is loaded
[info] [phantom] Step anonymous 3/3 https://www.google.fr/ (HTTP 200)
Page Loaded
[debug] [phantom] Navigation requested: url=about:blank, type=Other, willNavigate=true, isMainFrame=true
[debug] [phantom] url changed to "about:blank"
Run Code Online (Sandbox Code Playgroud)

我到处搜索,我没有找到任何回应我的问题.


环境

  • PhantomJS 2.1.1
  • CasperJS 1.1.0beta5

bfm*_*ags 4

CasperJS 和 PhantomJS Github 存储库上存在有关重定向到/打开 about:blank 页面的未决问题(请参阅下面的更新)


  • --proxy-type=无命令行参数

在 Windows 上,默认代理设置可能会导致大量网络延迟(请参阅发行说明中的​​已知问题)。解决方法是完全禁用代理,例如通过使用 --proxy-type=none 命令行参数启动 PhantomJS。1


您的代码工作正常,具有以下版本:

  • PhantomJS 2.1.1
  • 卡斯珀JS 1.0.4
  • 操作系统

[info] [phantom] Starting...
[info] [phantom] Running suite: 3 steps
[debug] [phantom] opening url: https://www.google.fr/, HTTP GET
[debug] [phantom] Navigation requested: url=https://www.google.fr/, type=Other, lock=true, isMainFrame=true
[debug] [phantom] url changed to "https://www.google.fr/"
[debug] [phantom] Successfully injected Casper client-side utilities
[debug] [phantom] start page is loaded
[info] [phantom] Step 3/3 https://www.google.fr/ (HTTP 200)
Page Loaded
PASS Welcome to Google
[info] [phantom] Step 3/3: done in 262ms.
[info] [phantom] Done 3 steps in 341ms
Run Code Online (Sandbox Code Playgroud)

casperjs 1.1.x beta 和 PhantomJS >1.9.8 中的页面导航存在一些问题,建议将 PhantomJS 降级到 1.9.7


如果可能的话,我建议尝试不同的版本

Github Issue 1485 解决方案或 @Ross 解决方案都可以解决问题 - 有什么意见吗?