code: def __exit__(self, exc_type, exc_val, traceback):
      try:
          self.driver.quit()
          if self._percy_run and self._percy_finalize:
              logger.info("percy runner finalize build now")
              self.percy_runner.finalize_build()
          else:
              logger.info("percy finalize relies on CI job")
      except WebDriverException:
          logger.exception("webdriver quit was not successful")
      except percy.errors.Error:
          logger.exception("percy runner failed to finalize properly")
  
imports: import os
  import sys
  import time
  import logging
  import warnings
  import percy
  import requests
  from selenium import webdriver
  from selenium.webdriver.support import expected_conditions
  from selenium.webdriver.common.by import By
  from selenium.webdriver.support.wait import WebDriverWait
  from selenium.webdriver.common.keys import Keys
  from selenium.webdriver.common.action_chains import ActionChains
  from selenium.common.exceptions import WebDriverException, TimeoutException, MoveTargetOutOfBoundsException
  from dash.testing.wait import text_to_equal, style_to_equal, class_to_equal, contains_text, contains_class, until
  from dash.testing.dash_page import DashPageMixin
  from dash.testing.errors import DashAppLoadingError, BrowserError, TestingTimeoutError
  from dash.testing.consts import SELENIUM_GRID_DEFAULT
label_desc: Use image node_id 3 for calling the Browser obj's underlying member method code with example usage: obj.__exit__(exc_type, exc_val, traceback) without return types