gpt4 book ai didi

phantomjs - 通过 PhantomJS 调用时找不到模块 'casper'

转载 作者:行者123 更新时间:2023-12-04 06:37:10 25 4
gpt4 key购买 nike

我在 C:\xampp\htdocs\phantom 中安装了 PhantomJS,并且我还在这个文件夹 C:\xampp\htdocs\casper 中安装了 CasperJS

当我尝试使用 phantomjs test.js 在 casper 站点上运行这些示例代码时命令:

var casper=require('casper').create();
casper.start('http://google.fr/');

casper.thenEvaluate(function(term) {
document.querySelector('input[name="q"]').setAttribute('value', term);
document.querySelector('form[name="f"]').submit();
}, 'CasperJS');

casper.then(function() {
// Click on 1st result link
this.click('h3.r a');
});

casper.then(function() {
console.log('clicked ok, new location is ' + this.getCurrentUrl());
});

casper.run();

它给了我一个错误,告诉我:

Error: Cannot find module 'casper'



我做错什么了?

最佳答案

如果您想通过 PhantomJS 运行 CasperJS(因为您调用了 phantomjs test.js ),您需要在脚本开头添加一些引导代码:

phantom.casperPath = 'path/to/node_modules/casperjs';
phantom.injectJs('path/to/node_modules/casperjs/bin/bootstrap.js');

请记住,即使在 Windows 上,您也需要使用正斜杠。

如果您需要测试环境,那么您还需要该行:
phantom.casperTest = true;

一切都取自这个问题: Running 'casperjs test' in phantom

尽管这是可能的,但您不应该这样做。您应该通过 node_modules/casperjs/batchbin 中的可执行文件/批处理文件直接调用 CasperJS。

关于phantomjs - 通过 PhantomJS 调用时找不到模块 'casper',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25761028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com