cookies不能启用 - selenium webdriver.io phantomjs

时间:2016-01-15 09:45:36

标签: selenium cookies selenium-webdriver phantomjs webdriver-io

文档说明:默认情况下,PhantomJS中启用了Cookie。但不确定为什么亚马逊会返回该页面。

saved screenshot of page

这是我的代码:

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时,它工作正常..但是,我希望它能通过幻像工作。

感谢您的帮助 - 谢谢。

1 个答案:

答案 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
};