示例#1
0
            public static void StartSelenium()
            {
                driver = new ChromeDriver();
                goTo("https://vk.com/");

                find(byType.selector, "#index_email").SendKeys(login);
                find(byType.selector, "#index_pass").SendKeys(password);
                find(byType.selector, "#index_login_button").Click();

                new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.ElementToBeClickable(By.ClassName("feed_row")));
                //Thread.Sleep(5000);

                getNews();

                settings writerSettings = new settings("imagesT.json", "linksT.json", "textsT.json");

                Thread imagesThread = new Thread(new ThreadStart(writerSettings.imageThread));
                Thread textThread   = new Thread(new ThreadStart(writerSettings.textThread));
                Thread linksThread  = new Thread(new ThreadStart(writerSettings.linkThread));

                imagesThread.Start();
                textThread.Start();
                linksThread.Start();
                imagesThread.Join();
                textThread.Join();
                linksThread.Join();

                Console.WriteLine("Одиночная запись завершена!");

                serviceController handler = new serviceController();

                handler.startService();

                StopSelenium();
            }
示例#2
0
            public static void LoopSelenium()
            {
                Console.WriteLine($"Login: {login} \nPassword: {password} \nStarting parsing...");

                driver = new ChromeDriver();
                goTo("https://vk.com/");

                find(byType.selector, "#index_email").SendKeys(login);
                find(byType.selector, "#index_pass").SendKeys(password);
                find(byType.selector, "#index_login_button").Click();

                new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.ElementToBeClickable(By.ClassName("feed_row")));
                //Thread.Sleep(5000);

                getNews();

                settings writerSettings = new settings("imagesT.json", "linksT.json", "textsT.json");

                Thread imagesThread = new Thread(new ThreadStart(writerSettings.imageThread));
                Thread textThread   = new Thread(new ThreadStart(writerSettings.textThread));
                Thread linksThread  = new Thread(new ThreadStart(writerSettings.linkThread));

                imagesThread.Start();
                textThread.Start();
                linksThread.Start();
                imagesThread.Join();
                textThread.Join();
                linksThread.Join();

                Console.WriteLine("Первоначальная запись завершена!");

                serviceController serviceHandler = new serviceController();

                jsonManager switcher = jsonManager.image;

                while (loop)
                {
                    driver.Navigate().Refresh();
                    getNews();

                    Thread imagesWriteThread = new Thread(new ThreadStart(writerSettings.imageThread));
                    Thread textWriteThread   = new Thread(new ThreadStart(writerSettings.textThread));
                    Thread linksWriteThread  = new Thread(new ThreadStart(writerSettings.linkThread));

                    switch (switcher)
                    {
                    case (jsonManager.image):
                    {
                        Console.WriteLine("ВАЖНО: Начата итерация картинок...");
                        Thread deserializeThread = new Thread(() => toJSON.DeserializeImages());
                        deserializeThread.Start();
                        textWriteThread.Start();
                        linksWriteThread.Start();

                        deserializeThread.Join();
                        textWriteThread.Join();
                        linksWriteThread.Join();

                        serviceHandler.operate();
                        switcher = jsonManager.text;
                        Console.WriteLine("ВАЖНО: Окончена итерация картинок...");
                        break;
                    }

                    case (jsonManager.text):
                    {
                        Console.WriteLine("ВАЖНО: Начата итерация текста...");
                        imagesWriteThread.Start();
                        Thread deserializeThread = new Thread(() => toJSON.DeserializeText());
                        deserializeThread.Start();
                        linksWriteThread.Start();

                        imagesWriteThread.Join();
                        deserializeThread.Join();
                        linksWriteThread.Join();

                        serviceHandler.operate();
                        switcher = jsonManager.link;
                        Console.WriteLine("ВАЖНО: Окончена итерация текста...");
                        break;
                    }

                    case (jsonManager.link):
                    {
                        Console.WriteLine("ВАЖНО: Начата итерация текста...");
                        imagesWriteThread.Start();
                        textWriteThread.Start();
                        Thread deserializeThread = new Thread(() => toJSON.DeserializeLinks());
                        deserializeThread.Start();

                        imagesWriteThread.Join();
                        textWriteThread.Join();
                        deserializeThread.Join();

                        serviceHandler.operate();
                        switcher = jsonManager.image;
                        Console.WriteLine("ВАЖНО: Окончена итерация текста...");
                        break;
                    }
                    }
                }

                StopSelenium();
            }