code: def locateOnScreen(image, minSearchTime=0, **kwargs):
      
      start = time.time()
      while True:
          try:
              screenshotIm = screenshot(region=None) # the locateAll() function must handle cropping to return accurate coordinates, so don't pass a region here.
              retVal = locate(image, screenshotIm, **kwargs)
              try:
                  screenshotIm.fp.close()
              except AttributeError:
                  # Screenshots on Windows won't have an fp since they came from
                  # ImageGrab, not a file. Screenshots on Linux will have fp set
                  # to None since the file has been unlinked
                  pass
              if retVal or time.time() - start > minSearchTime:
                  return retVal
          except ImageNotFoundException:
              if time.time() - start > minSearchTime:
                  if USE_IMAGE_NOT_FOUND_EXCEPTION:
                      raise
                  else:
                      return None
docs: minSearchTime - amount of time in seconds to repeat taking
      screenshots and trying to locate a match.  The default of 0 performs
      a single search.