在Python + Selenium + Firefox WebDriver上配置代理

Rim*_*imo 6 selenium python-3.x selenium-firefoxdriver selenium-webdriver

我无法通过Selenium Firefox WebDriver使用代理连接。

使用此配置,将生成连接,但不是通过代理而是通过本地服务器生成连接。

关于此事和本文档存在两个问题但似乎没有一个问题可以解决python3的问题:

def selenium_connect():

    proxy = "178.20.231.218"
    proxy_port = 80
    url = "https://www.whatsmyip.org/"

    fp = webdriver.FirefoxProfile()
    # Direct = 0, Manual = 1, PAC = 2, AUTODETECT = 4, SYSTEM = 5
    fp.set_preference("network.proxy.type", 1)
    fp.set_preference("network.proxy.http",proxy)
    fp.set_preference("network.proxy.http_port",proxy_port)
    fp.update_preferences()
    driver = webdriver.Firefox(firefox_profile=fp)
    driver.get(url)
Run Code Online (Sandbox Code Playgroud)

我正在使用Firefox Webdriver版本52.0.2和Python 3.7,以及标准的Ubuntu 16.04 Docker环境。

C. *_*eck 1

Don\xe2\x80\x99t 您需要使用 DesiredCapativity 而不是在 FirefoxProfile 中设置代理吗?就像下面这样。

\n\n
from selenium import webdriver\nfrom selenium.webdriver.firefox.options import Options\nfrom selenium.webdriver.common.proxy import Proxy\n\nproxy_to_use= "xxx.xxx.xxx.xxx"\ndesired_capability = webdriver.DesiredCapabilities.FIREFOX\ndesired_capability[\'proxy\'] = {\n    \'proxyType\': "manual",\n    \'httpProxy\': proxy_to_use,\n    \'ftpProxy\': proxy_to_use,\n    \'sslProxy\': proxy_to_use\n        }\n browser = webdriver.Firefox(capabilities=desired_capability)\n browser.get(\xe2\x80\x9chttp://www.whatsmyip.org\xe2\x80\x9d)\n
Run Code Online (Sandbox Code Playgroud)\n