【发布时间】:2015-12-13 07:49:07
【问题描述】:
拥有这样的装饰器对象
class wait_for_page_load(object):
def __init__(self, driver, time_to_wait=20):
self.driver = driver
self.time_to_wait = time_to_wait
def __call__(self, function):
@functools.wraps(function)
def wrapper(*args):
old_page = self.driver.find_element_by_tag_name('html')
function(*args)
WebDriverWait(self.driver, self.time_to_wait).until(staleness_of(old_page))
return wrapper
我想把它应用到另一个类的方法上,像这样:
class VehiclePage(object):
def __init__(self, driver):
self.driver = driver
@wait_for_page_load(self.driver)
def open(self):
self.driver.get('%s/vehicles/' % BASE_URL)
这给了我一个错误。有没有办法将self.driver 传递给装饰器?
【问题讨论】:
-
你能把它给你的错误贴出来吗?
-
name 'self' 未定义
标签: python decorator python-2.x python-decorators