phantomjs - 为什么 CasperJS 在点击链接后不接受重定向请求?

标签 phantomjs casperjs

我遇到了更多 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

我尝试查找解释,并找到了 this组线程,但不幸的是它没有为我的问题提供任何答案。 有谁知道 Casper 不重定向的任何可能原因?

最佳答案

感谢大家的帮助和支持,我已经解决了这个问题,哈哈!发生的事情是在浏览器有时间被重定向到 twitter 应用程序授权页面之前执行 tellsignin 函数,所以我只是添加了一个 this.waitForText('Authorize foo-bar app to use your account?') 到登录功能。

关于phantomjs - 为什么 CasperJS 在点击链接后不接受重定向请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17599555/

相关文章:

google-chrome - Casperjs/PhantomJs 与 Selenium

javascript - 以编程方式在 Angular Bootstrap 中打开弹出窗口

javascript - 什么是 phantom JS 错误代码 1?

javascript - 获取可靠的网站屏幕截图? Phantomjs 和 Casperjs 在某些网站上都返回空屏幕截图

javascript - 从评估方法调用时不会出现消息

javascript - CasperJS(幻影 1.9.7),从昨天开始无法连接 https

javascript - CasperJS - 在网站上注册并验证 Gmail 上发送的邮件 - 对于 slimer 和 phantom -

javascript - 使用 CasperJS 登录 Intacct 进行抓取

python - 使用 Selenium/PhantomJS 进行网络捕获

css - 如何在 CSS 回归测试 backstopjs 中检查 Bootstrap 模式