code: def _make_instance(cls, element_class, webelement):
          
          if isinstance(webelement, FirefoxWebElement):
              element_class = copy.deepcopy(element_class)
              element_class.__bases__ = tuple(
                  FirefoxWebElement if base is WebElement else base
                  for base in element_class.__bases__
              )
          return element_class(webelement)
docs: Firefox uses another implementation of element. This method
          switch base of wrapped element to firefox one.