文档说明:默认情况下,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
时,它工作正常..但是,我希望它能通过幻像工作。
感谢您的帮助 - 谢谢。
答案 0 :(得分:1)
也许该网站没有将幻像识别为普通浏览器,因此会向您显示此错误消息。
在浏览器功能中添加User-Agent字符串,如下所示。这将告诉网站流量来自普通浏览器。
var opts = desiredCapabilities: {
browserName: 'phantomjs',
'phantomjs.page.settings.userAgent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:36.0) Gecko/20100101 Firefox/36.0 WebKit',
javascriptEnabled: true
},
"host": "localhost",
"port": 4444
};