web-dev-qa-db-ja.com

プロキシ:Selenium + Python、Firefox

Seleniumによって起動されたFirefoxのトラフィックをPythonでプロキシにリダイレクトするにはどうすればよいですか?Webで提案されているソリューションを使用しましたが、機能しません!

私が試してみました:

profile = webdriver.FirefoxProfile() 
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", "54.213.66.208")
profile.set_preference("network.proxy.http_port", 80)
profile.update_preferences() 
driver = webdriver.Firefox(profile)
12
Michele Spina

以下をインポートする必要があります。

from Selenium.webdriver.common.proxy import Proxy, ProxyType

次に、プロキシを設定します。

myProxy = "xx.xx.xx.xx:xxxx"

proxy = Proxy({
    'proxyType': ProxyType.MANUAL,
    'httpProxy': myProxy,
    'ftpProxy': myProxy,
    'sslProxy': myProxy,
    'noProxy': '' # set this value as desired
    })

次に、次のようにwebdriver.Firefox()関数を呼び出します。

driver = webdriver.Firefox(proxy=proxy)
driver.get("http://www.google.com")

この解決策をどこで見つけたか覚えていませんが、どこかにあります。もう一度見つけたらきっとリンクを提供します。私のコードからこの部分を取り除いただけです。

15
amitdatta

あなたの問題はドライバーの初期化にあります。 webdriver = webdriver.Firefox(firefox_profile=profile)を試してください。他のすべてのコードは問題ありません。profile.update_preferences()行を削除することもできます。

私は2分のグーグル検索であなたの解決策を見つけました。どれくらいの時間を待っていましたか? :D

あなたの問題は、Python以外の他の言語からコードを読むかもしれないということです。このwebdriver.Firefox(profile)webdriver.Firefox(firefox_profile=profile)に置き換えます。

コードは次のようになります。

profile = webdriver.FirefoxProfile() 
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", "54.213.66.208")
profile.set_preference("network.proxy.http_port", 80)
profile.update_preferences() 
driver = webdriver.Firefox(firefox_profile=profile)
7
erm3nda

Firefox/geckodriverでこれを試してください:

proxy = "212.66.117.168:41258"

firefox_capabilities = webdriver.DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True

firefox_capabilities['proxy'] = {
    "proxyType": "MANUAL",
    "httpProxy": proxy,
    "ftpProxy": proxy,
    "sslProxy": proxy
}

driver = webdriver.Firefox(capabilities=firefox_capabilities)

そしてChromeの場合:

proxy = "212.66.117.168:41258"
prox = Proxy()
prox.proxy_type = ProxyType.MANUAL
prox.http_proxy = proxy
prox.socks_proxy = proxy
prox.ssl_proxy = proxy

capabilities = webdriver.DesiredCapabilities.CHROME
prox.add_to_capabilities(capabilities)
driver = webdriver.Chrome(desired_capabilities=capabilities)
4
OceanFire