t.me/atinfo_chat Telegram группа по автоматизации тестирования

как считать текст из атрибута. как вывести в консоль конструкцию if

chromedriver
selenium
Теги: #<Tag:0x00007fb2f5284358> #<Tag:0x00007fb2f5284218>

(Артур Гладилин) #1

я пытался написать тест который будет проверять скорость загрузки сайта на сайте https://developers.google.com/speed/pagespeed/insights/?hl=RU
код следующий:

    [Test]
    public void page_speed_info2()
    {
        

        driver.Navigate().GoToUrl("https://developers.google.com/speed/pagespeed/insights/?hl=RU");
        wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("//*[@id='page-speed-insights']/div[1]/form/div/input"))).Click();
        wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath("//*[@id='page-speed-insights']/div[1]/form/div/input"))).SendKeys("https://billz.uz/");

        System.Threading.Thread.Sleep(900);
        driver.FindElement(By.XPath("//*[@id='page-speed-insights']/div[1]/form/div/div/div")).Click();
        System.Threading.Thread.Sleep(20000);

        wait.Until(ExpectedConditions.ElementExists(By.XPath("//*[@id='page-speed-insights']/div[2]/div/div[2]/div/div")));

        wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("//*[@id='page-speed-insights']/div[2]/div[2]/div[2]/div[1]/div[2]/div/div[1]")));

        Console.WriteLine("консоль выводит");

        IWebElement number = driver.FindElement(By.XPath("//*[@id='page-speed-insights']/div[2]/div[2]/div[2]/div[1]/div[1]/div/div[1]/a/div[1]"));
       

        string a = number.Text;
        int b = Convert.ToInt32(a);
        //int b = Int32.Parse(a);
        
        
        if(b < 80)
        {
            Console.WriteLine("Слабая скорость загрузки -"+ a);
        }
        else
        {
            Console.WriteLine("Отличная скорость загрузки -"+ a);
        }
        Console.ReadKey();

проблема в том что консоль ничего не выводит.
я пробовал просто вывести любую фразу, но ничего не вышло.
вывод сообщения вообще не работает.
visual studio ругается на то что входная строка переменной “а” имела не верный формат.
следовательно видимо не удается взять текст.
все пробовал, без успешно.
помогите, ребят


(Vasily) #2

Локатор проверьте еще раз, когда получаете элемент IWebElement number


(Valentin G ) #3

У вас неправильный локатор, плюс очень хитрая страница (находится два локатора, потому что две вкладки - первый для телефона, второй результат для компьютера)