java - Java 中的 Selenium PhantomJS 自定义 header

标签 java selenium phantomjs ghostdriver

我想向 Selenium PhantomJS 添加自定义 http 请求 header 。特别是这个标题 Accept-Language: en-US

我通过阅读其他帖子能够弄清楚这一点,但是我如何填写 setCapability 的第二个参数来设置自定义 header ?

DesiredCapabilities caps = new DesiredCapabilities();       
caps.setCapability(PhantomJSDriverService.PHANTOMJS_PAGE_CUSTOMHEADERS_PREFIX, "");

我在 Stackoverflow 上看过另一篇文章,但那篇文章与 Python 有关,与 Java 无关。

最佳答案

PHANTOMJS_PAGE_CUSTOMHEADERS_PREFIX 常量 = 'phantomjs.page.customHeaders。'

所以需要在前缀中加上header。

在你的情况下你想这样做:

DesiredCapabilities cap = DesiredCapabilities.phantomjs();
cap.setCapability(PhantomJSDriverService.PHANTOMJS_PAGE_CUSTOMHEADERS_PREFIX + "Accept-Language", "en-US");
cap.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "path to phantomjs executable");

然后简单地将功能传递给驱动程序的构造函数:

WebDriver driver = new PhantomJSDriver(cap);

关于java - Java 中的 Selenium PhantomJS 自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32677313/

相关文章:

Java:在以下代码中使用命令模式

python - 即使我使用 try 和 except 方法,也无法避免 ElementNotVisibleException

python - 查找网页中要与 Selenium 一起使用的元素的 ID

javascript - 使用 phantomjs 递归遍历网站页面

java - 重新运行 Spring Boot 配置注释处理器以更新生成的元数据

java - 最近更改后的 web.xml 值非法

python - 使用 xpath 和 LXML 或 selenium 从 HTML 表中抓取数据

jquery - 在 PhantomJS 中将屏幕截图裁剪到元素

javascript - 使用 PhantomJS 将 CSS3 动画渲染为图像文件序列

java - flex-compiler-oem.jar 无法解析 <s :Application> to a component implementation