2015-02-11 71 views
0

我是phantomJs的新手,並且負責自動從網站上抓取一些數據。要做到這一點,我必須登錄,導航到網站上的搜索頁面,搜索並刮取來自Ajax查詢的結果。它在我的本地機器(與Lampp的ubuntu操作系統)上變得更加甜蜜,但是當我將代碼移動到我們的開發服務器(運行nginx的centOS機器)時,我開始在我的jquery調用中出現:「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>元素,只有一頁結果,沒有任何按鈕。

回答

0

jQuery被注入頁面上下文,而不是幻像上下文。它使用page.injectJs(),只能通過page.evaluate()訪問jQuery。

+0

謝謝你不厭其煩地回覆。我知道這一點。從.evaluate範圍訪問jQuery我沒有問題。問題在於jquery對我的搜索結果有不利影響 – Kepedizer 2015-02-11 20:37:29