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

Применить XPATH относительно определенного элемента

Теги: #<Tag:0x00007f7487424700> #<Tag:0x00007f7487424598> #<Tag:0x00007f74874244a8>

Проблема: Пытаюсь применить XPATH только к определенному элементу, применяется ко всей странице.

Задача: есть страница с несколькими элементами XPATH1. Часть из них содержит элементы XPATH2.
Есть эти элементы есть - совершаем одну проверку, если нет -другую.

Мой код:

        private string XPath1= "//div[contains(@class, 'class1')]";
        private string XPath2= "//div[contains(@class, 'element1')]";

        foreach (var element in _driver.FindElements(By.XPath(XPath1)))
        {                
            if (element.FindElements(By.XPath(XPath2)).Count > 0)
            {
                Assert1();
            }
            else
            {
                Assert2();
            }
        }

Для использования XPath от конкретного элемента, нужно в начале написать точку:

".//div[contains(@class, 'element1')]"

Точка обозначает, что искать элементы нужно внутри родителя.

4 Симпатий