code: def process_delayed_asserts(self, print_only=False):
          
          if self.__delayed_assert_failures:
              exception_output = ''
              exception_output += "\n*** DELAYED ASSERTION FAILURES FOR: "
              exception_output += "%s\n" % self.id()
              all_failing_checks = self.__delayed_assert_failures
              self.__delayed_assert_failures = []
              for tb in all_failing_checks:
                  exception_output += "%s\n" % tb
              if print_only:
                  print(exception_output)
              else:
                  raise Exception(exception_output)
docs: To be used with any test that uses delayed_asserts, which are
              non-terminating verifications that only raise exceptions
              after this method is called.
              This is useful for pages with multiple elements to be checked when
              you want to find as many bugs as possible in a single test run
              before having all the exceptions get raised simultaneously.
              Might be more useful if this method is called after processing all
              the delayed asserts on a single html page so that the failure
              screenshot matches the location of the delayed asserts.
              If "print_only" is set to True, the exception won't get raised.