注入jquery会完全改变页面结果 - 这是一种糟糕的方式

时间:2015-02-11 20:02:12

标签: javascript jquery ajax nginx phantomjs

我是phantomJs的新手,负责自动从网站上抓取一些数据。要这样做,我必须登录,导航到网站上的搜索页面,搜索并抓取来自Ajax查询的结果。这一切都在我的本地机器(带有Lampp的ubuntu操作系统)上变得很好但是当我将我的代码移动到我们的开发服务器(运行nginx的centOS机器)时,我开始得到:“refrenceError:$ not defined”在我对jquery的调用上。所以我已经将jquery添加到我的目录并尝试:

page.onLoadFinished = function() {
   page.injectJs('jquery-1.10.2.min.js'), function(){
       $.noConflict();
   };
   loadInProgress = false;
};

以及

page.injectJs('jquery-1.10.2.min.js'), function(){
    $.noConflict();

    //DO SOMETHING WITH $ HERE
};

但是现在搜索结果最初是一个漂亮的页面,其中包含我可以导航的表格,转而使用<pre></pre>元素,只有一页结果,没有任何按钮。

1 个答案:

答案 0 :(得分:0)

jQuery被注入页面上下文,而不是幻像上下文。使用page.injectJs()时,只能通过page.evaluate()访问jQuery。