我对phantomjs很新。刚刚开始使用我工作的应用程序的无头自动化。不知何故,以下代码似乎适用于像hotmail,facebook等网站,但它不适用于我的测试应用程序。以下是我正在使用的代码: -
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
答案 0 :(得分:0)
对于任何可能面临此问题的人。为页面设置用户代理应该可以正常工作
page.settings.userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:44.0) Gecko/20100101 Firefox/44.0"