Selenium - 在无头浏览器中设置标头

时间:2016-11-11 10:49:38

标签: java selenium

我试图在无头浏览器上运行一个简单的测试。 在我的示例测试中,当我拍摄屏幕截图时,我只是在访问我的暂存网站时得到一个空白屏幕,但http://www.google.co.uk等生产网站正常工作。所以我想我们需要设置标题才能访问我们的暂存?

有人知道如何在selenium上为无头浏览器做这个吗?

我的代码是:

public void testPhantom() throws IOException {
    DesiredCapabilities caps = new DesiredCapabilities();
    caps.setJavascriptEnabled(true);
    caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "phantomjs");
    Webdriver driver = new PhantomJSDriver(caps);

    open("https://mywebsite.staging.com/");
    takeAScreenshot("Website");
}

=============================================== ===

更新

通过阅读以下帖子找到解决方案:PhantomJSDriver works for HTTP but not for HTTPS

1 个答案:

答案 0 :(得分:0)

我没有亲自测试过,但GhostDriver文档在https://github.com/detro/ghostdriver#what-extra-webdriver-capabilities-ghostdriver-offers

上有以下内容
  

phantomjs.page.customHeaders.HEADER = VALUE - 加载网址时添加额外的HTTP标头

来自PR:https://github.com/detro/ghostdriver/pull/229

PHANTOMJS_PAGE_CUSTOMHEADERS_PREFIX = "phantomjs.page.customHeaders."; //< notice the dot at the end
capabilities.setCapability(PHANTOMJS_PAGE_CUSTOMHEADERS_PREFIX + "Accept-Language", "it-IT");