我想向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);

09-12 09:02