воскресенье, 10 мая 2020 г.

Написать XPATH для нахождения родительского элемента



XPATH к элементу div через его child

//select[@name='category']/..



Элемент определяем так:

locator = (By.XPATH, "//select[@name='category']/..")
element = HtmlElement(driver, locator)
Предположим мы должны проверить видимоcть этого эелемента:
return hero_subtitle.is_element_visible()

Итого, функция будет выглядеть так:

@allure.step("Check that element is visible") def is_element_visisble(driver): locator = (By.XPATH, "//select[@name='category']/..") element = HtmlElement(driver, locator) return element.is_element_visible()


Описываем класс HtmlElement (лучше в отдельном файле и использовать его в разных тестах):

class HtmlElement:
    def __init__(self, driver, locator):
        self.driver = driver  # type: WebDriver        self.element_locator = locator


    def is_element_visible(self, timeout=30):
        wait = WebDriverWait(self.driver, timeout)
        try:
            wait.until(expected_conditions.visibility_of_element_located(self.element_locator))
        except TimeoutException:
            return False        return True
ПРИМЕР 2
//a[text()='Sm___']/..//a[text()='Get Started']



Чтобы найти кнопку Get Started описываем сначала a с текстом "Sm...". (//a[text()='Sm___'])
Дальше переходим вверх к родительскому элементу (/..).
Спускаемся вниз к дочернему элементу с текстом 'Get Started' (//a[text()='Get Started'])

Комментариев нет:

Отправить комментарий

Самые полезные ФУНКЦИИ Пайтона

 1)  PRINT - выводит на печать переменную, указанную в скобках print (average)   2)  LEN - посчитать количество элементов в списке student...