该代码语句(在casperjs文档中给出)究竟是做什么的?

return /message sent/.test(document.body.innerText);


相同的文档对它的解释不多。因此,麻烦了。

我正在尝试使用casperjs fill()方法检查是否已成功登录网站。

如果需要的话,这是我的脚本:

var casper = require('casper').create();

casper.start('http://example.com', function() {
    this.fill('form[action="login.php"]', {
        'username': 'myname',
        'password': 'mypass'
    }, true);
});

casper.then(function() {
    this.evaluateOrDie(function() {
        return /message sent/.test(document.body.innerText);
    }, 'sending message failed');
});

casper.run(function() {
    this.echo('message sent').exit();
});


我需要casper.then()casper.run()的帮助来检查我的登录尝试。我对javascript和casperjs都还比较陌生,因此如果这是一个非常基本的问题,请原谅。

最佳答案

这不是CasperJS功能,而是Javascript功能。

这是在测试字符串(document.body.innerText)是否匹配正则表达式(/message sent/

在这种情况下,如果CasperJS在远程页面的正文中找不到message sent,则会退出。

您可能还想尝试使用以下内容,因为这将确保在继续操作之前给页面加载时间。

casper.then(function() {
    this.waitForText("message sent", function then() {
        this.echo('message sent');
    }, function timeout() {
        this.die('sending message failed');
    });
});

关于javascript - casperjs的测试属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19354904/

10-13 01:03