Python中如何解决Phantomjs代理问题
service_args = [
"--proxy-type=http",
“–proxy=218.91.112.196:9999”,
“–ssl-protocol=any”,
]
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = ("Mozilla/5.0 (iPhone; CPU iPhone OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Mobile/15E148 Safari/604.1")
driver = webdriver.PhantomJS(desired_capabilities=dcap,service_args=service_args)
driver.set_page_load_timeout(30)
try:
driver.get("http://test.com")
print(driver.page_source)
except:
pass
driver.quit()
service_args=service_args 加上这一个就返回
不加代理就能正常读取内容 试了几个代理都不行,Mayday Mayday !
Selenium 2.48 Phantomjs2.1.1 Python3.7 Windows10
Python中如何解决Phantomjs代理问题
PhantomJS的代理设置可以通过命令行参数或WebDriver的DesiredCapabilities来实现。以下是两种常用方法:
方法1:通过命令行参数设置代理
from selenium import webdriver
service_args = [
'--proxy=127.0.0.1:8080',
'--proxy-type=http'
]
driver = webdriver.PhantomJS(service_args=service_args)
driver.get("http://example.com")
方法2:通过DesiredCapabilities设置代理
from selenium import webdriver
capabilities = webdriver.DesiredCapabilities.PHANTOMJS.copy()
capabilities['phantomjs.page.settings.proxy'] = 'http://127.0.0.1:8080'
driver = webdriver.PhantomJS(desired_capabilities=capabilities)
driver.get("http://example.com")
如果需要认证代理,可以这样处理:
service_args = [
'--proxy=username:password@proxy_ip:port',
'--proxy-type=http',
'--proxy-auth=username:password'
]
注意:PhantomJS官方已停止维护,建议考虑使用Headless Chrome或Firefox替代。如果坚持使用PhantomJS,确保代理地址和端口正确,且代理服务正常运行。
总结:根据代理类型选择合适的配置方式。
有没有大神,求解答…

