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

Injecting jquery changes page results totally - in a bad way

本文关键字:一种 方式 jquery 改变 结果 注入      更新时间:2023-09-26

我是phantomJs的新手,负责自动从网站上抓取一些数据。为此,我必须登录,导航到网站上的搜索页面,搜索并抓取Ajax查询的结果。在我的本地机器(带Lampp的ubuntu操作系统)上一切都很顺利,但当我把代码移到我们的开发服务器(一台运行nginx的centOS机器)时,我开始在对jquery的调用中得到:"refenceError:$not defined"。因此,我将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>元素,只有一页结果,没有任何按钮。

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