АФ
Size: a a a
АФ
A
EB
class LoginPage:и тот же по сути метод клика, но чуть измененный:
def __init__(self, driver):
self.driver = driver
self.login_button = self.driver.find_element_by_xpath(*login_btn_locator) # поиск осуществился один раз
def press_login(self):
self.login_button.click() # переиспользуем уже найденное значение при инициализации э-тов пейджобьекта
class LoginPage:первый код почти наверняка поломается на реактивном фронтенде с компонентами которые отрисовываются и менюят состояние по своему собственному жизненному циклу, не привязанному к готовности всей страницы. второй пример воплощает идею, что нужно перестать верить любому эл-ту до которого ты обращался и делать поиск непосредственно перед использованием.
def __init__(self, driver):
self.driver = driver
def press_login(self):
self.driver.find_element_by_xpath(*login_btn_locator).click() # каждый раз когда мы делаем клик происходит поиск по DOM, результат (найденный элемент) нигде не хранится
G
NK
Mt
SN
EB
EB
NK
F
AS
E
АФ
LP
D
М
k
k
MS