Example #1
0
        static void RegisterData(Alert alert, string html)
        {
            LogEvent("Записване на данни в админ панела", alert);

            Driver.Navigate().GoToUrl("https://quick.tuxbg.net/?action=ExtContent12");
            Wait.Until(ExpectedConditions.ElementIsVisible(By.TagName("iframe")));
            Driver.SwitchTo().Frame(0);
            FindElement(By.LinkText("Добави известие")).Click();

            // fill in meta data
            FindElement(By.Id("Import_url")).SendKeys(alert.Url());
            FindElement(By.Id("Import_id_post")).SendKeys(alert.content_id);
            FindElement(By.Id("Import_contact_info")).SendKeys(alert.author);

            // fill in post data
            FindElement(By.CssSelector("a[title='Код']")).Click();
            FindElement(By.ClassName("cke_source")).SetAttribute("value", html);

            FindElement(By.CssSelector("input[type='submit']")).Click();
            Wait.Until(ExpectedConditions.ElementIsVisible(By.Id("massiveOperation")));
            WaitRandom();
        }
Example #2
0
        static string ReadPost(Alert alert)
        {
            LogEvent("Прочитане на публикация...");
            string htmlResult = string.Empty;
            //string cssSelector = ".userContentWrapper";
            string cssSelector = "#contentArea";

            // read post data
            Driver.Navigate().GoToUrl(alert.Url());

            IWebElement postElement = null;

            postElement = FindElement(By.CssSelector(cssSelector));

            htmlResult = postElement.GetInnerHtml();
            LogEvent($"Публикацията е прочетена: {htmlResult.Length} знака");

            //Hover (postElement); // use when original Social Fixer since icons don't show unless post is hovered
            try {
                LogEvent("Абониране за публикация...");
                PostSubscribe(postElement);
                WaitRandom();
                LogEvent("Абонирането е успешно");
            } catch (Exception ex) {
                throw new CantSubscribeToPostException("Абонирането не беше успешно", ex);
            }

            try {
                LogEvent("Запазване на публикацията в Social Fixer...");
                Sfx.AddPost(alert.content_id);
                LogEvent("Запазване на публикацията в Social Fixer успешно");
                WaitRandom();
            } catch (Exception ex) {
                throw new CantMarkPostReadException($"Запазване на публикацията в Social Fixer не беше успешно", ex);
            }

            return(htmlResult);
        }
Example #3
0
        /// <summary>
        /// Retrieves target alert.
        /// </summary>
        /// <returns>The alert.</returns>
        static Alert GetAlert()
        {
            LogEvent("Търсене на известия...");
            Driver.Navigate().GoToUrl("https://facebook.com/notifications");
            Wait.Until(ExpectedConditions.ElementIsVisible(By.CssSelector("ul[data-testid=see_all_list] li")));

            WaitRandom();
            var alertElements = FindElements(By.CssSelector("ul[data-testid=see_all_list] li"));

            KeyValuePair <Alert, IWebElement>[] alertArrayKV = alertElements
                                                               .Select(x => new KeyValuePair <Alert, IWebElement> (Alert.FromElement(x), x))
                                                               .OrderByDescending(x => x.Key.microtime_sent).ToArray();


            Alert resultAlert = null;

            IWebElement element = null;
            KeyValuePair <Alert, IWebElement> alertKV = new KeyValuePair <Alert, IWebElement> (null, null);

            foreach (var kv in alertArrayKV)
            {
                if (kv.Value.Text.Contains("добави "))
                {
                    alertKV = kv;
                    break;
                }
                if (kv.Value.Text.Contains("добавиха "))
                {
                    alertKV = kv;
                    break;
                }
                if (kv.Value.Text.Contains("публикува в"))
                {
                    alertKV = kv;
                    break;
                }
                if (kv.Value.Text.Contains("публикуваха в"))
                {
                    alertKV = kv;
                    break;
                }
                if (kv.Value.Text.Contains("коментира "))
                {
                    alertKV = kv;
                    break;
                }
                if (kv.Value.Text.Contains("коментираха "))
                {
                    alertKV = kv;
                    break;
                }
            }

            if (alertKV.Key != null)
            {
                resultAlert = alertKV.Key;
                Hover(alertKV.Value);
                LogEvent($"Избрано известие {resultAlert.Url ()}", resultAlert);
            }

            WaitRandom();
            return(resultAlert);
        }