2015-09-05 59 views
0

基本上,我可以通過代理通過hide.me成功地在特定網頁上運行此javascript命令,而我的最終目標是通過某種方式實現以下過程的自動化:在不同代理上通過控制檯自動執行Javascript執行

1)通過隨機代理服務器加載網站(不必是經由hide.me)

2)使用控制檯執行JavaScript命令

3)1和2使用重複不同的代理服務器

任何幫助將不勝感激

回答

0

您可以使用無頭瀏覽器PhantomJS爲此。您可以使用他們的榜樣加載網站:

console.log('Loading a web page'); 
var page = require('webpage').create(); 
var url = 'http://phantomjs.org/'; 
page.open(url, function (status) { 
    //Page is loaded! 
    phantom.exit(); 
}); 

可以在command line arguments指定代理。

您可以通過使用page.evaluate做的JavaScript調用:

page.open('http://www.httpuseragent.org', function(status) { 
    if (status !== 'success') { 
    console.log('Unable to access network'); 
    } else { 
    var ua = page.evaluate(function() { 
     // or other js calls 
     return document.getElementById('myagent').textContent; 
    }); 
    console.log(ua); 
    } 
    phantom.exit(); 
}); 

PhantomJS可以var page = require('webpage').create();直到phantom.exit()將被稱爲掛起。嘗試記錄你的page.open(status)狀態,也許網站有問題。

+0

這看起來很棒!我將如何做JavaScript調用?另外,phantomjs似乎掛在:var page = require('webpage')。create(); –

+0

沒關係,我很笨,我完全沒看到);最後。它的工作原理,只需要弄清楚如何進行javascript函數調用。它們是特定於我正在訪問的網頁的功能,但在Chrome中的控制檯中,我可以將它們寫出來,就像在頁面的源代碼中調用它們一樣,當我按Enter時,它可以工作精細。編輯:只要看到你的編輯,我會給它一個鏡頭! –

+0

在'page.evaluate'中運行它,例如在我的答案中:'document.getElementById('myagent')。textContent;'。你嘗試過嗎? –