Когда я проектирую класс, я написал функцию-член класса в качестве декоратора
def switchWindow(self, win: str):
def actual_decorator(func):
self.browser.switch_to.window(self.windowsHandles[win])
def inner():
func()
return inner
return actual_decorator
декоратор используется для изменения eviroment для другой функции-члена, прежде чем они выполняются, однако, когда я использовал декоратор над функцией-членом:
@switchWindow(win="crop")
def test_cropFunction(self):
pass
В среде IDE возникла ошибка, подобная этой:
@switchWindow(win="crop") TypeError: switchWindow() missing 1 required positional argument: 'self'
Я запутался в ошибке, но затем переписал декоратор с помощью добавьте «я» перед декоратором, но это также неправильно:
@self.switchWindow(win="crop") NameError: name 'self' is not defined
Кто-нибудь может мне помочь?