我有一个element由另一个类方法返回的对象,我不一定有权更改。
>>> from selenium.webdriver import Chrome
>>> browser = Chrome()
>>> browser.get('https://www.google.com')
>>> element = driver.find_element_by_tag_name('input')
>>> type(element)
<class 'selenium.webdriver.remote.webelement.WebElement'>
我有一个单独的类来扩展元素的功能。
>>> class Input:
>>> def __init__(self, element):
>>> assert element.tag_name == 'input', 'Element must be of type "input"'
>>> self.element = element
>>> self.browser = element.parent
>>> def is_enabled(self):
>>> return self.element.is_enabled()
>>> @property
>>> def value(self):
>>> return self.element.get_attribute('value')
目前我使用它的方式是传递element给类:
>>> input = Input(element)
>>> input.is_enabled() # Same as input.element.is_enabled()
True
我希望能够更轻松地访问原始对象的属性,而不必在调用中指定它。例如:
而不是这个:
>>> input.element.tag_name
'input'
做这个:
>>> input.tag_name
'input'
我将如何实现这样的事情?
白板的微信
相关分类