def click_buy_button(driver):
a_button_locator = (
By.XPATH,
"//a[contains(@class, 'product-purchase') "
"and contains(@href, '" + Config.ps_base_url + "')]"
)
a_button = Button(driver, a_button_locator)
a_button.click()
def click_buy_button(driver):
a_button_locator = (
By.XPATH,
"//a[contains(@class, 'product-purchase') "
"and contains(@href, '" + Config.ps_base_url + "')]"
)
a_button = Button(driver, a_button_locator)
a_button.click()
XPATH к элементу div через его child
Элемент определяем так:
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 (лучше в отдельном файле и использовать его в разных тестах):ПРИМЕР 2class 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
//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...