Custom headers in Phantomjs Selenium WebDriver

前端 未结 2 875
小蘑菇
小蘑菇 2020-12-12 22:52

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

DesiredCapabilit         


        
2条回答
  •  轮回少年
    2020-12-12 23:49

    I write a full example to set all headers , window size and proxy in selenium phantomjs:

    from selenium import webdriver
    
    def init_phantomjs_driver(*args, **kwargs):
    
        headers = { 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
            'Accept-Language':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0',
            'Connection': 'keep-alive'
        }
    
        for key, value in headers.iteritems():
            webdriver.DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.{}'.format(key)] = value
    
        webdriver.DesiredCapabilities.PHANTOMJS['phantomjs.page.settings.userAgent'] = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36'
    
        driver =  webdriver.PhantomJS(*args, **kwargs)
        driver.set_window_size(1400,1000)
    
        return driver
    
    
    def main():
        service_args = [
            '--proxy=127.0.0.1:9999',
            '--proxy-type=http',
            '--ignore-ssl-errors=true'
            ]
    
        driver = init_phantomjs_driver(service_args=service_args)
    
        driver.get('http://cn.bing.com')
    

    Note:

    userAgent is set in phantomjs.page.settings.userAgent instead of phantomjs.page.customHeaders

提交回复
热议问题