code: def context(self, context):
          
          initial_context = self.execute('GET_CONTEXT').pop('value')
          self.set_context(context)
          try:
              yield
          finally:
              self.set_context(initial_context)
docs: Sets the context that Selenium commands are running in using
          a `with` statement. The state of the context on the server is
          saved before entering the block, and restored upon exiting it.
  
          :param context: Context, may be one of the class properties
              `CONTEXT_CHROME` or `CONTEXT_CONTENT`.
  
          Usage example::
  
              with selenium.context(selenium.CONTEXT_CHROME):
                  # chrome scope
                  ... do stuff ...