Javascript 用PhantomJs和CasperJs注入JS

Javascript 用PhantomJs和CasperJs注入JS,javascript,web-scraping,phantomjs,casperjs,Javascript,Web Scraping,Phantomjs,Casperjs,我正在尝试使用CasperJS来抓取一个有动态内容的网站,但到目前为止失败了。该网站使用两个js库(例如Prototype)使用autocomplete创建内容。因此,我尝试插入一些值并触发事件来启动内容创建。插入和触发事件可以正常工作,但不会创建任何内容 我是CasperJS的新手,发现它与库的相对路径有问题。我怀疑我的问题是因为我的页面环境中没有正确加载库。因此,我尝试使用injectJs像这样注入它们 //。。。创建casper并做一些其他的事情 casper.then(函数(){ 不幸的

我正在尝试使用CasperJS来抓取一个有动态内容的网站,但到目前为止失败了。该网站使用两个js库(例如Prototype)使用autocomplete创建内容。因此,我尝试插入一些值并触发事件来启动内容创建。插入和触发事件可以正常工作,但不会创建任何内容

我是CasperJS的新手,发现它与库的相对路径有问题。我怀疑我的问题是因为我的页面环境中没有正确加载库。因此,我尝试使用
injectJs
像这样注入它们

//。。。创建casper并做一些其他的事情

casper.then(函数(){

不幸的是,这两个函数都返回false。脚本的路径是正确的,这个问题的根源在哪里


非常感谢您的帮助。

我不相信CasperJS可以处理HTTP请求来注入脚本。这很奇怪,因为它们实际上显示了这一点。但是,同一常见问题解答说:

不能使用HTTP协议注入脚本,实际上必须这样做 使用脚本资源的相对/绝对文件系统路径


为了再次检查,我自己使用Mac OS X和您上面的代码进行了尝试。当通过http使用文件时,echo的结果是
false
,当文件是本地文件时,echo的结果是
true

这就是我在Casperjs脚本中注入Jquery的方式

casper.options.clientScripts = ["jquery-3.2.1.min.js"]

Jquery文件应该位于casperjs脚本所在的同一目录下

谢谢。我想最好的方法是下载脚本,然后从本地路径包含它们。对于记录,我已经相应地更新了文档,很抱歉犯了这个错误。我想现在可以使用
remoteScripts
插入非本地脚本您可能希望研究异步从外部源加载的
includeJs
,而不是本地同步
injectJs
phantomJs方法。
casper.options.clientScripts = ["jquery-3.2.1.min.js"]