2

Casper の問題が増えています。今回は、Casper に、href をクリックしてページにリダイレクトするように指示しました。このページは、twitter アプリの認証ページにリダイレクトします。

    var casper = require('casper').create({
    verbose: false,
    logLevel: 'debug',
    waitTimeout: 10000
});
phantom.cookiesEnabled = true;

casper.start('http://foo.bar', function afterstart() {
    if (this.exists('#back-to-top')) {
        this.echo('BOOYA! foo.bar is loaded', 'INFO');
    } else {
        this.echo('Page didnt load, something went all screwy.', 'ERROR');
    }
});

casper.then(function signin() {
    this.click('a[href="/sys/login"]' );
 });

casper.then(function tellsignin() {
    if (this.exists('#not-logged-in ')) {
        this.echo("I clicked on twitter login button, so now the twitter login page is loaded.", 'INFO');
    } else {
        this.echo('Twitter login link didnt work, something went wacky');
    };
});

私がそれを実行すると、コンソールエラー出力はこれに加えて、重要ではない他のいくつかのものです:

Test file: testingtest.js                                                       
BOOYA! foo.bar is loaded
Twitter login link didnt work, something went wacky

説明を調べてみたところ、このグループ スレッドが見つかりましたが、残念ながら私の問題に対する回答はありません。Casper がリダイレクトしない理由を知っている人はいますか?

4

1 に答える 1

10

皆さんの助けとサポートのおかげで問題を解決しました(笑)!ブラウザが twitter アプリの認証ページにリダイレクトされる前に、tellsignin 関数が実行されていたため、サインインに this.waitForText('Authorize foo-bar app to use your account?') を追加しました。関数。

于 2013-07-12T17:29:33.923 に答える