【发布时间】:2019-09-18 13:11:26
【问题描述】:
我是 stackoverflow 和 OOP 的新手,
问题:我有一个类TrackList,它应该跟踪Element 的实例。 Element 是一个使用 webdriver 根据索引查找列表项的类。该列表有一项列表[0]。
class TrackList():
def __init__(self):
self.instance_list = {}
def element_instance(self, index):
if index not in self.instance_list:
self.instance_list[index] = Element(index)
return self.instance_list[index]
class Element():
def __init__(self, index):
self.index = index
def _web_driver_search(self):
#find a node based on the index provided i.e.
driver.find_element(By.XPATH, f'//li[text()="{self.index}"]')
print("new element found")
...
现在让我们假设列表已更新,因此列表 [0] = 列表 [1] 中的对象和新对象变为列表 [0]。不幸的是,由于 instance_list[0] 存在,当前的实现仍将返回旧对象。如何实现 instance_list[0] 指向新对象和 instance_list[1] 指向旧对象?是我遗漏了什么还是设计模式有误?
【问题讨论】:
标签: python selenium oop design-patterns