- PhantomJS
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy
from selenium.webdriver.common.proxy import ProxyType
browser = webdriver.PhantomJS()
# 设置页面加载和js加载超时时间,超时立即报错,如下设置超时时间为10秒
browser.set_page_load_timeout(10)
browser.set_script_timeout(10)
# 设置动态代理ip端口,每次更换动态ip时修改httpProxy
proxy = Proxy(
{
'proxyType': ProxyType.MANUAL,
'httpProxy': '123.160.225.164:25729' # 代理ip和端口
}
)
# 更新浏览器配置
desired_capabilities = webdriver.DesiredCapabilities.PHANTOMJS.copy()
proxy.add_to_capabilities(desired_capabilities)
browser.start_session(desired_capabilities)
browser.get("http://httpbin.org/ip")
print(browser.page_source)
browser.close()
输出结果:
<html><head></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">{
"origin": "123.160.225.164"
}
</pre></body></html>
- Chrome使用方法同理:
需要注意desired_capabilities要改成chome的配置:
desired_capabilities = webdriver.DesiredCapabilities.CHROME.copy()
完整代码:
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy
from selenium.webdriver.common.proxy import ProxyType
browser = webdriver.Chrome()
# 设置页面加载和js加载超时时间,超时立即报错,如下设置超时时间为10秒
browser.set_page_load_timeout(10)
browser.set_script_timeout(10)
# 设置动态代理ip端口,每次更换动态ip时修改httpProxy
proxy = Proxy(
{
'proxyType': ProxyType.MANUAL,
'httpProxy': '125.123.71.7:26546' # 代理ip和端口
}
)
desired_capabilities = webdriver.DesiredCapabilities.CHROME.copy()
proxy.add_to_capabilities(desired_capabilities)
browser.start_session(desired_capabilities)
browser.get("http://httpbin.org/ip")
print(browser.page_source)
browser.close()
输出结果:
<html><head></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">{
"origin": "125.123.71.7"
}
</pre></body></html>