/// <summary> /// 更新数据 /// </summary> /// <param name="model"></param> /// <returns></returns> bool UpdateItemImg(ItemImg model) { return(SetItemImg.UpdateItemImg(model)); }
static public void Zadanie1() { int TarifNow, NumIsStrong = 0, NumIsNotStrong = 0; MyMozila.Navigate().GoToUrl(UrlSite[0]); var wait = new WebDriverWait(MyMozila, TimeSpan.FromSeconds(15)); wait.Until(ExpectedConditions.PresenceOfAllElementsLocatedBy(By.ClassName("hit-image"))); //MyMozila.get(UrlSite[0]); Console.WriteLine("Выполняю - Проверить «жирный» текст в любом тарифе или обычный"); //поиск тарифов var TarifArray = MyMozila.FindElements(By.CssSelector(".ssc-tariffs-wrap .ssc-tariff-box")); Console.WriteLine("На странице найдено " + TarifArray.Count + " тарифов. Какой выбрать? "); TarifNow = Convert.ToInt32(Console.ReadLine()); //узнаем есть ли в блоке тарифа тег strong Console.WriteLine("На странице найдено 'жирного'(strong) текста " + TarifArray[TarifNow - 1].FindElements(By.TagName("strong")).Count); //узнаем есть ли в блоке тарифа текстовые блоки со стилем жирный или без var TextElementArray = TarifArray[TarifNow - 1].FindElements(By.TagName("span")); foreach (var NowElement in TextElementArray) { if (NowElement.FindElements(By.TagName("span")).Count > 0) { continue; } Int32 NowWeight = 0; try { NowWeight = Convert.ToInt32(NowElement.GetCssValue("font-weight")); } catch (FormatException) { NowWeight = 400; } if (NowWeight > 400 || NowElement.GetCssValue("font-weight") == "bold") { NumIsStrong++; //Console.WriteLine("Жир - " + NowElement.Text); } else { NumIsNotStrong++; //Console.WriteLine("Норм - " + NowElement.Text); } } Console.WriteLine("Жирных блоков текста (css свойство) - " + NumIsStrong + " обычных блоков текста - " + NumIsNotStrong); Console.WriteLine("Выполняю - 2.Проверить тарифы на наличие стикера «ХИТ продаж»"); foreach (var item in TarifArray) { try { if (item.FindElement(By.ClassName("hit-image")).GetAttribute("src").Length > 0) { Console.WriteLine("тариф хит - " + item.FindElement(By.ClassName("tariff-title")).Text); break; } } catch (NoSuchElementException) { //Console.WriteLine("тариф не наш - " + item.FindElement(By.ClassName("tariff-title")).Text); } } Console.WriteLine("Выполняю - 3. Проверить стоимости тарифов на главной странице и на странице тарифа"); String BuferString = ""; for (int i = 1; i <= TarifArray.Count; i++) { wait.Until(ExpectedConditions.PresenceOfAllElementsLocatedBy(By.CssSelector(".ssc-tariffs-wrap .ssc-tariff-box"))); var TarifNowElement = MyMozila.FindElement(By.CssSelector(".ssc-tariffs-wrap .ssc-tariff-box:nth-child(" + i.ToString() + ")")); BuferString = TarifNowElement.FindElement(By.ClassName("tariff-title")).Text + " на главной " + TarifNowElement.FindElement(By.ClassName("price")).Text + ". На странице тарифа "; TarifNowElement.Click();// переход на страницу тарифа. wait.Until(ExpectedConditions.PresenceOfAllElementsLocatedBy(By.CssSelector(".btn-col .price"))); //Thread.Sleep(2000); //костыль. если опять будет при первом запуске гдето показывать не правильную стоимость на странице тарифа Console.WriteLine(BuferString + MyMozila.FindElement(By.CssSelector(".btn-col .price")).Text); MyMozila.Navigate().Back(); } Console.WriteLine("Выполняю - 4. Проверить стоимости тарифов на 2х любых под сайтах ТЕЛЕ2, например в Москве (https://msk.tele2.ru/) и Ростове-на-Дону (https://rostov.tele2.ru/)"); // тут MyMozila созданим новую вкладку (окно) IWebDriver MyMozila2 = new FirefoxDriver(); MyMozila2.Navigate().GoToUrl(UrlSite[1]); TarifArray = MyMozila.FindElements(By.CssSelector(".ssc-tariffs-wrap .ssc-tariff-box")); var TarifArray2 = MyMozila2.FindElements(By.CssSelector(".ssc-tariffs-wrap .ssc-tariff-box")); String TarifNowName, TarifNowPrice; //сравним тарифы на подсайтах foreach (var item1 in TarifArray) { TarifNowName = item1.FindElement(By.ClassName("tariff-title")).Text; TarifNowPrice = item1.FindElement(By.ClassName("price")).Text; Console.WriteLine("тариф для сравнения (msk) - " + TarifNowName); foreach (var item2 in TarifArray2) { if (item2.FindElement(By.ClassName("tariff-title")).Text == TarifNowName) { Console.WriteLine("Стоимость в (msk) - " + TarifNowPrice + " в (rostov) " + item2.FindElement(By.ClassName("price")).Text); break; } } } MyMozila2.Close(); Console.WriteLine("5. Проверить – можно ли настраивать каждый из тарифов или нет"); TarifArray = MyMozila.FindElements(By.CssSelector(".ssc-tariffs-wrap .ssc-tariff-box")); foreach (var ItemTarif in TarifArray) { TarifNowName = ItemTarif.FindElement(By.ClassName("tariff-title")).Text; try { if (ItemTarif.FindElement(By.CssSelector("a[href^='/nastroy']")).Text.Length > 0) { Console.WriteLine(TarifNowName + " можно настроить"); } else { Console.WriteLine(TarifNowName + " нельзя настроить"); } } catch (NoSuchElementException) {//FormatException Console.WriteLine(TarifNowName + " нельзя настроить"); } } Console.WriteLine("6. Вывести в консоль все ссылки на картинки с страницы https://more.tele2.ru/ (огнетушитель, самолет и т.д.)"); MyMozila.Navigate().GoToUrl(UrlSite[2]); wait.Until(ExpectedConditions.PresenceOfAllElementsLocatedBy(By.CssSelector("img"))); var ImgAllObj = MyMozila.FindElements(By.CssSelector("img")); foreach (var ItemImg in ImgAllObj) { Console.WriteLine(ItemImg.GetAttribute("src")); } }
/// <summary> /// 增加数据 /// </summary> /// <param name="model"></param> /// <returns></returns> bool AddItemImg(ItemImg model) { return(SetItemImg.AddItemImg(model)); }