Есть страница с товарами. В каждом блоке товара есть цена, title, количество и кнопка добавить.
Код который я написал мне не нравится. Так как приходится постоянно указывать номер блока.
Например я хочу добавить 5-1 товар со страницы, значит надо вызвать page.item_atc_button(5)
Как можно улучшить этот код и привести к такому виду:
page.item(2).title
page.item(5).att_to_cart
Думал как то создавать отдельный объект внутки класса, но не придумал как
Если “побыстренькому” то будет что-то около такого
class SearchResult:
def __init__(self, webelement):
self.webelement = webelement
@property
def title(self):
# я бы всетаки рекомендовал возвращать текст а не вебэлемент тут
return self.webelement.find_element_by_xpath('title locator here').text
def open_details_page(self):
return self.webelement.find_element_by_xpath('button locator here').click()
# и так дальше
def get_search_result(index):
webelement = find(self.item_lo % index)
return SearchResult(webelement)
print(get_search_result(2).title)