我第一次使用 CasperJS ,我想在加载页面之前添加一个cookie。我使用此代码:
casper.test.setUp(function () {
casper.echo('Cookies enabled?: ' + phantom.cookiesEnabled);
phantom.addCookie({
domain: '.localhost',
name: 'sessionId',
value: '12345abcd6789efg'
});
问题似乎出现在我的代码中phantom
。我收到以下错误:
TypeError:undefined不是构造函数
如何定义phantom
?
答案 0 :(得分:0)
CasperJS 建立在 PhantomJS 之上,这意味着您的Casper环境实际上是一个带有一些额外功能的PhantomJS环境......
您可以编写的用于检查环境的最基本脚本如下:
console.log('PhantomJS version: ' + phantom.version.major + '.' + phantom.version.minor + '.' + phantom.version.patch);
phantom.exit();
通常,您应该能够使用phantomjs
和casperjs
命令执行此脚本。这将为您提供与phantomjs --version
相同的输出。
在您的脚本中,您正在使用CasperJS的测试器模块。但是我们可以从那里访问phantom
对象吗?是的,当然!
casper.test.setUp(function () {
console.log('PhantomJS version: ' + phantom.version.major + '.' + phantom.version.minor + '.' + phantom.version.patch);
});
casper.test.begin('Example', function (test) {
casper.start('http://example.com');
casper.then(function () {
test.assertEquals(this.getTitle(), 'Example Domain');
});
casper.run(function () {
test.done();
});
});
这次您无法使用phantomjs
命令,而必须使用casperjs test
。如果您尝试运行此脚本,则应在测试开始之前看到PhantomJS版本...