2014-06-23 35 views
4

我是phantomjs的新手。剛開始的時候我的工作就是應用程序的無頭自動化。不知何故,下面的代碼似乎適用於像hotmail,Facebook等網站,但它不適用於我的應用程序在測試。以下是代碼,我使用: -Phantomjs - Cookies未啓用錯誤

var page = require("webpage").create(); 
    page.settings.userAgent="Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36" 

    phantom.clearCookies(); 
    phantom.cookiesEnabled = true; 

    var homePage = "https://www.somewebsite.com"; 
    page.open(homePage, function(status) { 
    var url = page.url; 
    console.log("Status: " + status); 
    console.log("Loaded: " + url); 

    page.evaluate(function(){ 
     document.getElementById('myUsername').value='username; 
     document.getElementById('myPassword').value='password'; 
    }); 

    page.render("before.png"); 
    page.evaluate(function(){ 
     document.getElementById('myLoginButton').click(); 
    }); 

    setTimeout(function() { 
     page.render("after.png"); 
     phantom.exit(); 
    }, 10000); 

    }); 

的錯誤消息,我得到的是「您的瀏覽器已被設置爲阻止所有Cookie,請讓他們登錄到網站上。」

雖然我寫了聲明「phantom.cookiesEnabled = true;」它似乎並沒有啓用它。我已經嘗試改變用戶代理,但沒有運氣。我錯過了什麼?

由於事先 Harshit Kohli先生

+1

有些更多的信息不會在這裏受到傷害。你的應用程序寫了什麼語言/框架?這似乎是另一位開發人員寫的一條定製消息。嘗試搜索此消息的所有項目文件,然後發佈附近的代碼。 –

回答

0

對於任何人都可能面臨這個問題。設置頁面的用戶代理應該可以工作

page.settings.userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:44.0) Gecko/20100101 Firefox/44.0" 
+0

有沒有辦法從命令行執行此操作?我在Codeception中使用phantomjs和PHP驅動程序。 –