我想向Selenium PhantomJS添加自定义http请求标头。具体来说,此标头Accept-Language: en-US
通过阅读其他文章,我能够弄清楚这一点,但是如何填写setCapability
的第二个参数来设置自定义标头?
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(PhantomJSDriverService.PHANTOMJS_PAGE_CUSTOMHEADERS_PREFIX, "");
我看过关于Stackoverflow的另一篇文章,但那篇文章与Python有关,而不与Java有关。
最佳答案
PHANTOMJS_PAGE_CUSTOMHEADERS_PREFIX常量='phantomjs.page.customHeaders'。
因此,您需要将标题添加到前缀。
在您的情况下,您想这样做:
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);