该代码语句(在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/