public static void main(String[] args) throws InterruptedException, IOException {
		new File(output_dir, "ˮ").mkdirs();
		new File(output_dir, "").mkdirs();
		
		WebDriver driver = Utils.createFireFoxDriver();
        
		Utils.openTvdb(driver, "ˮ");
        (new WebDriverWait(driver, 10)).until(ExpectedConditions.elementToBeClickable(By.partialLinkText("   ")));
        driver.findElement(By.partialLinkText("   ")).click();

        // Cross-table checkers
        
        removeButton(driver);
        
        driver.findElements(By.cssSelector("input[type='radio'][name='choose']")).get(1).click();
        
        waitForButton(driver);
        
        downloadChecker(driver);
        
        // Other checkers
        
        removeButton(driver);
        
        driver.findElements(By.cssSelector("input[type='radio'][name='choose']")).get(2).click();
        
        waitForButton(driver);
        
        downloadChecker(driver);
        
        // Start to copy checker result files to unit folders
        Map<String, List<String>> tableUnits = new HashMap<String, List<String>>();
        Map<String, List<String>> tableUnitsNonCurrent = new HashMap<String, List<String>>();
        Set<String> unitSet = new HashSet<String>();
        
		Utils.obtainTableUnitMapping(tableUnits, unitSet);
		Utils.obtainDTableUnitMapping(tableUnitsNonCurrent, unitSet);
		
        for(String unit: unitSet) {
    		new File(output_dir, "/"+unit+"/ˮֺøq").mkdirs();
        }
        
        tableUnits.putAll(tableUnitsNonCurrent);
        copyCheckResultToUnits(tableUnits);
        
        ((JavascriptExecutor)driver).executeScript("alert('Done! eˮ֪|bW٤WЩҦUAгvˬdC')");
        System.err.println("eˮ֪|bW٤WЩҦUAгvˬdC");
	}