【发布时间】:2016-04-20 21:08:13
【问题描述】:
文档说:默认情况下在 PhantomJS 中启用 Cookie。但不确定亚马逊为什么会返回该页面。
这是我的代码:
var webdriverio = require('webdriverio');
var opts = desiredCapabilities: {
browserName: 'phantomjs',
javascriptEnabled: true
},
"host": "localhost",
"port": 4444
};
var email = ''; // your email
var password: ''; // your password
var client = webdriverio
.remote(opts)
.init()
.url('https://www.amazon.co.uk/gp/sign-in.html')
.setValue('#ap_email', email)
.setValue('#ap_password', password)
.submitForm('form[name="signIn"]')
.then(function() { // save the screenshot
this.saveScreenshot(__dirname + '/loginPage.png');
})
.end();
我已经记录了它返回的 cookie 对象为空/无:
{
sessionId: 'a96eb340-bb6a-11e5-ae83-c52b2435a008',
status: 0,
value: []
}
,并尝试使用
设置自定义 Cookie.setCookie({name: '', value: '', domain: 'amazon.co.uk'})
但还是有同样的问题..
我认为 phantomJS 阻止了它,因为当我将 browserName 更改为 chrome 时,它工作正常。不过,我希望它通过 phantom 工作。
您的帮助将不胜感激 - 谢谢。
【问题讨论】:
-
我想知道亚马逊是否正在检查用户代理,并且“假设”您的浏览器不支持 cookie。尝试更改您的用户代理标头可能是谨慎的?
-
但是 phantomjs 文档说它支持 cookie。版本 > 1.9.7!我正在使用 v2.0.0 .. 我也尝试通过更改用户代理标头。 ``` userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/2.0.0 Safari/534.34" ```
标签: selenium cookies selenium-webdriver phantomjs webdriver-io