prof = webdriver.FirefoxProfile()
prof.set_preference('signon.autologin.proxy', 'true')
prof.set_preference('network.proxy.share_proxy_settings', 'false')
prof.set_preference('network.automatic-ntlm-auth.allow-proxies', 'false')
prof.set_preference('network.auth.use-sspi', 'false')
proxy_data = {'address': '123.123.123.123:2345', 'usernmae': 'johnsmith123',
    'password': 'iliketurtles'}
proxy_dict = {'proxyType': ProxyType.MANUAL, 'httpProxy': proxy_data[
    'address'], 'ftpProxy': proxy_data['address'], 'sslProxy': proxy_data[
    'address'], 'noProxy': '', 'socksUsername': proxy_data['username'],
    'socksPassword': proxy_data['password']}
proxy_config = Proxy(proxy_dict)
driver = webdriver.Firefox(proxy=proxy_config, firefox_profile=prof)
Python Selenium Webdriver - Proxy Authentication