2017-04-06 161 views
3

我想嵌入浏览器代理与我的硒(铬)框架的UI自动化测试,以拦截响应和其他网络。无法访问与selenium使用browsermob代理不安全的https

说明:使用browsermob代理和它工作得很好的webdriver

硒 - HTTP和HTTPS安全的URL都OK。当我试图浏览到不安全的HTTPS URL我得到这个错误铬: ERR_TUNNEL_CONNECTION_FAILED

这里是我的Python代码:

class Browser(object): 
    display = None 
    browser = None 

    def __init__(self, implicitly_wait_seconds=10, is_visible=True, display_size=None, browser_name='chrome'): 
     if not is_visible: 
      self.display = Display(display_size) 
     self.server = Server('/home/erez/Downloads/browsermob-proxy-2.1.4/bin/browsermob-proxy') 
     self.server.start() 
     self.proxy = self.server.create_proxy() 
     self.capabilities = DesiredCapabilities.CHROME 
     self.proxy.add_to_capabilities(self.capabilities) 
     self.proxy.new_har("test", options={'captureHeaders': True, 'captureContent': True}) 
     self.start_browser(display_size, implicitly_wait_seconds, browser_name) 

    def __enter__(self): 
     return self 

    def __exit__(self, _type, value, trace): 
     self.close() 

    def start_browser(self, display_size, implicitly_wait_seconds=10, browser_name='chrome'): 
     if browser_name == 'chrome': 
      chrome_options = Options() 
      # chrome_options.add_argument("--disable-extensions") 
      chrome_options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"]) 
      chrome_options.add_argument("--ssl-version-max") 
      chrome_options.add_argument("--start-maximized") 
      chrome_options.add_argument('--proxy-server=%s' % self.proxy.proxy) 
      chrome_options.add_argument('--ignore-certificate-errors') 
      chrome_options.add_argument('--allow-insecure-localhost') 
      chrome_options.add_argument('--ignore-urlfetcher-cert-requests') 
      self.browser = webdriver.Chrome(os.path.dirname(os.path.realpath(__file__)) + "/chromedriver", 
              chrome_options=chrome_options, desired_capabilities=self.capabilities) 
      self.browser.implicitly_wait(implicitly_wait_seconds) 

回答

1

我面临同样的问题,使用BrowserMob代理SSL代理。为此,您必须在浏览器中安装证书,该证书已在此处定义link

转到文档底部,您将看到一个名为“SSL支持”的部分。在您的浏览器中安装ca-certificate-rsa.cer,再也不会出现SSL代理问题。

相关问题