# 重新封装switch_to.window
def is_open_new_window(self,current_handles) # 形参名和new_window_is_opened的形参重复
"""
检测是否有新窗口打开,如果有就切换到新窗口
"""
if EC.new_window_is_opened(all_handles):
self.driver.switch_to.window(self.driver.window_handles[-1])
# 编写page对象
def to_new_page(self):
""" 点击按钮,跳转到新的页面 """
WebDriverWait(self.driver).until(EC.visiblity_of_element_located((By.ID,index.list_fc))
window_handles = self.driver.window_handles
# window_handles 和window_handles()重复
self.click(index.list_fc)
self.is_open_new_window(handles_index) # 调用重新封装的方法
以上为报错代码,凭借印象重写的,不能复现,仅作参考.
解决的方法就是,检查变量名,方法名是否与变量,方法,形参名重复
修改后的代码
# 重新封装switch_to.window
def is_open_new_window(self,all_handles)
"""
检测是否有新窗口打开,如果有就切换到新窗口
"""
if EC.new_window_is_opened(all_handles): # 实参命名为all_handles