2017-08-28 60 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 –