我试图在无头浏览器上运行一个简单的测试。 在我的示例测试中,当我拍摄屏幕截图时,我只是在访问我的暂存网站时得到一个空白屏幕,但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
答案 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");