发布于2019-10-31 08:49 阅读(1437) 评论(0) 点赞(22) 收藏(0)
我正在尝试使用代理监视python-selenium测试期间发出的任何请求。我使用的python代码如下:
from selenium import webdriver
PROXY = "0.0.0.0:9999"
webdriver.DesiredCapabilities.FIREFOX['proxy'] = {
"httpProxy":PROXY,
"ftpProxy":PROXY,
"sslProxy":PROXY,
"proxyType":"MANUAL"
}
driver = webdriver.Firefox()
driver.get("http://www.google.co.in")
driver.quit()
然后按以下方式启动代理:
python proxpy/proxpy/proxpy.py -p 9999
当我运行python测试脚本时,出现以下错误:
Exception happened during processing of request from ('127.0.0.1', 64667)
Traceback (most recent call last):
File "/Users/adietz/anaconda/lib/python2.7/SocketServer.py", line 596, in process_request_thread
self.finish_request(request, client_address)
File "/Users/adietz/anaconda/lib/python2.7/SocketServer.py", line 331, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/Users/adietz/Projects/Invest/browsermob/proxpy/proxpy/core.py", line 56, in __init__
SocketServer.StreamRequestHandler.__init__(self, request, client_address, server)
File "/Users/adietz/anaconda/lib/python2.7/SocketServer.py", line 652, in __init__
self.handle()
File "/Users/adietz/Projects/Invest/browsermob/proxpy/proxpy/core.py", line 137, in handle
res = self.doCONNECT(host, port, req)
File "/Users/adietz/Projects/Invest/browsermob/proxpy/proxpy/core.py", line 188, in doCONNECT
ssl_version = ssl.PROTOCOL_SSLv23, do_handshake_on_connect = False)
File "/Users/adietz/anaconda/lib/python2.7/ssl.py", line 933, in wrap_socket
ciphers=ciphers)
File "/Users/adietz/anaconda/lib/python2.7/ssl.py", line 544, in __init__
self._context.load_cert_chain(certfile, keyfile)
IOError: [Errno 2] No such file or directory
我怎样才能解决这个问题?如何避免此错误?我如何仅监视请求和响应...?
在Linux机器上,错误是等效的:
Exception happened during processing of request from ('127.0.0.1', 35348)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 596, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 331, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/home/adietz/Projects/Invest/browsermob-proxy/proxpy/proxpy/core.py", line 56, in __init__
SocketServer.StreamRequestHandler.__init__(self, request, client_address, server)
File "/usr/lib/python2.7/SocketServer.py", line 652, in __init__
self.handle()
File "/home/adietz/Projects/Invest/browsermob-proxy/proxpy/proxpy/core.py", line 137, in handle
res = self.doCONNECT(host, port, req)
File "/home/adietz/Projects/Invest/browsermob-proxy/proxpy/proxpy/core.py", line 188, in doCONNECT
ssl_version = ssl.PROTOCOL_SSLv23, do_handshake_on_connect = False)
File "/usr/lib/python2.7/ssl.py", line 933, in wrap_socket
ciphers=ciphers)
File "/usr/lib/python2.7/ssl.py", line 544, in __init__
self._context.load_cert_chain(certfile, keyfile)
IOError: [Errno 2] No such file or directory
这看起来像代理本身的问题。我检查了Github页面,最近一次更新是四年前。如果您能够切换代理,我建议您使用Browsermob,它非常用户友好。由于您使用的是python,因此我从著名的Selenium贡献者那里找到了一个包装器库:https : //github.com/AutomatedTester/browsermob-proxy-py
作者:黑洞官方问答小能手
链接:https://www.pythonheidong.com/blog/article/147949/686d0d44fbbcd3f2ead6/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!