code: def find_elements(self, by=By.ID, value=None):
          
          if self.w3c:
              if by == By.ID:
                  by = By.CSS_SELECTOR
                  value = '[id="%s"]' % value
              elif by == By.TAG_NAME:
                  by = By.CSS_SELECTOR
              elif by == By.CLASS_NAME:
                  by = By.CSS_SELECTOR
                  value = ".%s" % value
              elif by == By.NAME:
                  by = By.CSS_SELECTOR
                  value = '[name="%s"]' % value
  
          # Return empty list if driver returns null
          # See https://github.com/SeleniumHQ/selenium/issues/4555
          return self.execute(Command.FIND_ELEMENTS, {
              'using': by,
              'value': value})['value'] or []
docs: Find elements given a By strategy and locator. Prefer the find_elements_by_* methods when
          possible.
  
          :Usage:
              ::
  
                  elements = driver.find_elements(By.CLASS_NAME, 'foo')
  
          :rtype: list of WebElement