17

Python で Selenium によって起動された Firefox のトラフィックをプロキシにリダイレクトするにはどうすればよいですか? 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)
4

3 に答える 3

21

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

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")

この解決策を見つけた正確な場所は覚えていませんが、どこかにあります。もう一度見つけたら、必ずリンクを提供します。この部分をコードから取り出しただけです。

于 2014-01-31T00:36:38.637 に答える
6

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

2分間のGoogle検索であなたの解決策を見つけました. どのくらいの時間を待って過ごしましたか?: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)
于 2015-06-27T07:19:16.610 に答える