According to this it is possible now to modify headers. Atm i need to modify Accept-Language in PhantomJS webdriver. This code doesn't work
DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.Accept-Language'] = 'ru-RU'
driver = webdriver.PhantomJS()
Is it possible somehow to configure Phantomjs to send my header? i don't care where: inside ghostdriver, phantomjs or phantomjs-webdriver.
The latest version (1.9.1) of PhantomJS is release Jun/5/2013. The pull request is merged Jun/23/2013.
If you are using 1.9.1 version of PhantomJS, custom headers will not work.
You have to build phantomjs yourself or wait until phantomjs merge ghostdriver changes and release new version.
Using newly build phantomjs I got following result:
from selenium import webdriver
webdriver.DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.Accept-Language'] = 'ru-RU'
driver = webdriver.PhantomJS()
driver.get('http://httpbin.org/headers')
print(driver.page_source)
...
{
"headers": {
"Connection": "close",
"Host": "httpbin.org",
"Accept-Encoding": "gzip",
"Accept-Language": "ru-RU",
"User-Agent": "Mozilla/5.0 (Unknown; Linux i686) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.10.0 (development) Safari/534.34",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
}
...
Use PhantomJS 1.9.2+.