I run Firefox alone, set up the agent, can work properly. I run Firefox via selenium, set the proxy, but it does not work! Proxy server is the same!
Code 1:
from selenium import webdriver
from selenium.webdriver.common.proxy import *
use_proxy=agent_IP+':'+str(agent_Port)
_proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': use_proxy,
'ftpProxy': use_proxy,
'sslProxy': use_proxy,
'noProxy': None, # set this value as desired
"proxyType":"MANUAL",
"class":"org.openqa.selenium.Proxy",
"autodetect":False
})
browser = webdriver.Firefox(proxy=_proxy)
browser.get('https://www.google.com')
Code 2:
from selenium import webdriver
profile = webdriver.FirefoxProfile()
# Direct = 0, Manual = 1, PAC = 2, AUTODETECT = 4, SYSTEM = 5
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.share_proxy_settings", True)
profile.set_preference("network.http.use-cache", False)
profile.set_preference("network.proxy.http", agent_IP)
profile.set_preference("network.proxy.http_port", int(agent_Port))
profile.set_preference('network.proxy.ssl_port', int(agent_Port))
profile.set_preference('network.proxy.ssl', agent_IP)
profile.set_preference("general.useragent.override","whater_useragent")
profile.update_preferences()
browser = webdriver.Firefox(firefox_profile=profile)
browser.get('https://www.google.com')
Can someone help me?
thx!
I also encountered the same problem, the two methods I have tried, indeed are all invalid. But then a feasible way was found.
firefox_capabilities = webdriver.DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
PROXY = "58.216.202.149:8118"
firefox_capabilities['proxy'] = {
"proxyType": "MANUAL",
"httpProxy": PROXY,
"ftpProxy": PROXY,
"sslProxy": PROXY
}
driver = webdriver.Firefox(capabilities=firefox_capabilities)
driver.get(url)
It's run success for me.
It is important to note that:don't to set noProxy
with None
or ''
, delete it.
Look at a more detailed description of my blog: http://www.itfanr.cc/
Just wanted to add that I got my setup working using the below configuration,
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
profile = webdriver.FirefoxProfile()
user_agent = "Some UserAgent String here..."
proxy_ip = "123.123.123.123"
proxy_port = "12345"
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", str(proxy_ip))
profile.set_preference("network.proxy.http_port", int(proxy_port))
profile.set_preference("network.proxy.ssl", str(proxy_ip))
profile.set_preference("network.proxy.ssl_port", int(proxy_port))
profile.set_preference("network.proxy.ftp", str(proxy_ip))
profile.set_preference("network.proxy.ftp_port", int(proxy_port))
profile.set_preference("network.proxy.socks", str(proxy_ip))
profile.set_preference("network.proxy.socks_port", int(proxy_port))
profile.set_preference("network.http.use-cache", False)
profile.set_preference("general.useragent.override", user_agent)
profile.update_preferences()
binary = FirefoxBinary("/usr/bin/firefox")
driver = webdriver.Firefox(firefox_profile=profile, firefox_binary=binary)
driver.get("https://ifconfig.me")
driver.save_screenshot("check_ip.png")
driver.quit()
So simply setting the HTTP proxy to all other protocols got it working. Hope this helps someone.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With