2017-08-28 103 views
-1
driver = webdriver.Firefox() 
for x in range(10): 
    driver.get("mysite.com") 

有沒有辦法來改變每個連接的代理「mysite.com」範圍內的10,但不關閉驅動器並重新打開它,但只是改變了設置的代理?Python的 - 如何使用硒與代理

+0

請參閱:[我如何做X?](https://meta.stackoverflow.com/questions/253069/whats-the-appropriate-new-current-close-reason-for-how-do-i-do -x)對SO的期望是,用戶提出問題不僅要研究回答自己的問題,還要分享研究,代碼嘗試和結果。這表明你已經花時間去嘗試幫助自己,它使我們避免重申明顯的答案,最重要的是它可以幫助你得到更具體和相關的答案!另請參閱:[問] – JeffC

回答

3

您需要輸入以下內容:

from selenium.webdriver.common.proxy import * 

然後設置代理:

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

或者你可以使用tor瀏覽器,它會自動切換代理

+0

是的,但是因爲我有多個代理在每個範圍內都會發生變化,所以它只會更改代理重新啓動webdriver ...並且我需要該webdriver保持打開狀態。是可能的嗎? – AllExJ

+0

我只需要一種方式來更改代理,而瀏覽器打開 – AllExJ

+1

https://stackoverflow.com/questions/19565426/how-to-change-firefox-web-driver-proxy-settings-in-runtime –