Beispiel #1
0
        static async Task DoWork(CommandLineParams args)
        {
            var startTime = DateTime.Now;

            if (!Directory.Exists(args.Output))
            {
                Directory.CreateDirectory(args.Output);
            }

            ChromeDriverFactoryParams auth = null;

            if (args.AuthUrl != null)
            {
                auth = new ChromeDriverFactoryParams {
                    AuthUrl = args.AuthUrl, SubmitSelector = args.SubmitSelector, LoginSelector = args.LoginSelector, PasswordSelector = args.PasswordSelector, IsChromeWindowsRequired = args.IsChromeWindowsRequired
                };
            }

            driverFactory = new DriverFactory(auth);
            downloader    = new ImageDownloader(args.FileNameSegments, args.Output, args.DownloadThreadsCount, args.FileNameConflictPolicy);
            linksFinder   = new LinksFinder(downloader, driverFactory);

            var threads = new List <Task>();

            threads.Add(Task.Run(() => Stats(startTime)));
            threads.Add(Task.Run(async() => await linksFinder.FindLinks(args)));

            await Task.WhenAll(threads);

            Stats(startTime);
            Console.WriteLine("Finished!");
        }
 public DriverFactory(ChromeDriverFactoryParams opt)
 {
     _params = opt;
 }