selenium.webdriver中添加代理

Firefox中设置代理ip
  method_1
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference(‘network.proxy.type’, 1)
profile.set_preference(‘network.proxy.http’, ‘127.0.0.1’)
profile.set_preference(‘network.proxy.http_port’, 17890) # int
profile.update_preferences()
driver = webdriver.Firefox(firefox_profile=profile)
driver.get(‘http://httpbin.org/ip‘)
  method_2
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy
from selenium.webdriver.common.proxy import ProxyType
proxy = Proxy(
{

‘proxyType’: ProxyType.MANUAL, # 用不用都行

‘httpProxy’: get_proxy_ip_port()
}
)
driver = webdriver.Firefox(proxy=proxy)
driver.get(‘http://httpbin.org/ip‘)
  phantomjs中设置代理ip
  方法一:太不优雅(还是看方法二吧)
  在phantomjs中不能像上面的Firefox的method2一样传入proxy
  phantomjs和Firefox均继承自WebDriver,父类WebDriver可以传入proxy
  phantomjs在初始化WebDriver时就没有留proxy参数
  所以可以像下图一样改一下phantomjs类的源码,就可以在phantomjs中传入proxy参数了

  下面才是示例
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy
from selenium.webdriver.common.proxy import ProxyType
proxy = Proxy(
{
‘proxyType’: ProxyType.MANUAL,
‘httpProxy’: get_proxy_ip_port()
}
)
driver = webdriver.PhantomJS(
executable_path=”/path/of/phantomjs”,
proxy=proxy
)
driver.get(‘http://httpbin.org/ip‘)
print driver.page_source
driver.close()
  方法二:
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy
from selenium.webdriver.common.proxy import ProxyType
proxy = Proxy(
{
‘proxyType’: ProxyType.MANUAL,
‘httpProxy’: ‘ip:port’ # 代理ip和端口
}
)

新建一个“期望技能”,哈哈

desired_capabilities = DesiredCapabilities.PHANTOMJS.copy()

把代理ip加入到技能中

proxy.add_to_capabilities(desired_capabilities)
driver = webdriver.PhantomJS(
executable_path=”/path/of/phantomjs”,
desired_capabilities=desired_capabilities
)
driver.get(‘http://httpbin.org/ip‘)
print driver.page_source
driver.close()
  方法三(动态切换ip):
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy
from selenium.webdriver.common.proxy import ProxyType
proxy = Proxy(
{
‘proxyType’: ProxyType.MANUAL,
‘httpProxy’: ‘ip:port’ # 代理ip和端口
}
)

新建一个“期望技能”,哈哈

desired_capabilities = DesiredCapabilities.PHANTOMJS.copy()

把代理ip加入到技能中

proxy.add_to_capabilities(desired_capabilities)
driver = webdriver.PhantomJS(
executable_path=”/path/of/phantomjs”,
desired_capabilities=desired_capabilities
)

测试一下

driver.get(‘http://httpbin.org/ip‘)
print driver.page_source

现在开始切换ip

再新建一个ip

proxy = Proxy(
{
‘proxyType’: ProxyType.MANUAL,
‘httpProxy’: ‘ip:port’ # 代理ip和端口
}
)

再新建一个“期望技能”,()

desired_capabilities = DesiredCapabilities.PHANTOMJS.copy()

把代理ip加入到技能中

proxy.add_to_capabilities(desired_capabilities)

新建一个会话,并把技能传入

driver.start_session(desired_capabilities)
driver.get(‘http://httpbin.org/ip‘)
print driver.page_source
driver.close()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值