base_page页面中写了 def click_text_if_exists(self, element1, element2): if self.driver(text=element1).exists: self.click(element1) elif self.driver(text=element2).exists: self.click(element2) else: print('按钮未找到'),调用base_page,self.click_text_if_exists(self.go_back1, self.go_back2)写正确吗
在你的描述中,base_page
类中定义了一个方法 click_text_if_exists
,该方法根据传入的两个文本参数 element1
和 element2
来判断是否存在相应的元素,并进行点击操作。如果两个元素都不存在,则打印“按钮未找到”。
你提到的调用方式 self.click_text_if_exists(self.go_back1, self.go_back2)
是正确的,前提是 self.go_back1
和 self.go_back2
是类中定义的属性,并且它们包含你希望点击的文本。
以下是一个完整的示例,假设 self.go_back1
和 self.go_back2
是类的属性:
class BasePage:
def __init__(self, driver):
self.driver = driver
self.go_back1 = "返回1" # 示例文本
self.go_back2 = "返回2" # 示例文本
def click(self, text):
# 假设这是一个点击操作的实现
element = self.driver(text=text)
if element.exists:
element.click()
else:
print(f"元素 '{text}' 未找到")
def click_text_if_exists(self, element1, element2):
if self.driver(text=element1).exists:
self.click(element1)
elif self.driver(text=element2).exists:
self.click(element2)
else:
print('按钮未找到')
# 示例调用
driver = ... # 你的driver实例
base_page = BasePage(driver)
base_page.click_text_if_exists(base_page.go_back1, base_page.go_back2)
在这个示例中,BasePage
类初始化时接收一个 driver
实例,并定义了两个属性 go_back1
和 go_back2
。click_text_if_exists
方法根据这两个属性的值来判断并执行点击操作。
确保你的 driver
实例和 click
方法的实现是正确的,并且 self.go_back1
和 self.go_back2
包含你希望点击的文本。这样你的调用方式 self.click_text_if_exists(self.go_back1, self.go_back2)
就是正确的。