docs: def run_file(self, input_file, results):
          """
          use foctor_core library do get requests
          :param input_file: the file name of the list of test urls
                          format: 
                              1, www.facebook.com
                              2, www.google.com
                              ...
          :param results: the object to save the responses from server
          """
  
          capture_path = self.cur_path
  
          display_mode = 0  # 0 is virtural display(Xvfb mode)
  
          site_list = []
          file_name, file_contents = input_file
          result = {"file_name": file_name}
          file_metadata = {}
          file_comments = []
          run_start_time = time.time()
          index = 1
  
          csvreader = csv.reader(file_contents, delimiter=',', quotechar='"')
          for row in csvreader:
              """
                  First few lines are expected to be comments in key: value
                  format. The first line after that could be our column header
                  row, starting with "url", and the rest are data rows.
                  This is a sample input file we're trying to parse:
  
                  # comment: Global List,,,,,
                  # date: 03-17-2015,,,,,
                  # version: 1,,,,,
                  # description: This is the global list. Last updated in 2012.,,,,
                  url,country,category,description,rationale,provider
                  http://8thstreetlatinas.com,glo,PORN,,,PRIV
                  http://abpr2.railfan.net,glo,MISC,Pictures of trains,,PRIV
  
                  """
  
              # parse file comments, if it looks like "key : value",
              # parse it as a key-value pair. otherwise, just
              # store it as a raw comment.
              if row[0][0] == '#':
                  row = row[0][1:].strip()
                  if len(row.split(':')) > 1:
                      key, value = row.split(':', 1)
                      key = key.strip()
                      value = value.strip()
                      file_metadata[key] = value
                  else:
                      file_comments.append(row)
                  continue
  
              # detect the header row and store it
              # it is usually the first row and starts with "url,"
              if row[0].strip().lower() == "url":
                  index_row = row
                  continue
  
              url = row[0].strip()
              if url is None:
                  continue
  
              meta = row[1:]
              site_list.append([index, url])
              index += 1
  
          driver, display = fc.do_crawl(sites=site_list, driver=self.driver, display=self.display,
                                        capture_path=capture_path, callback=self.wrap_results,
                                        external=results, fd=os.path.join(capture_path, "har/"),
                                        files_count=len(os.listdir(os.path.join(capture_path, "har/"))))
          fc.teardown_driver(driver, display, display_mode)
  
          driver.quit()