2017-04-06 160 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代理問題。

相關問題