我一直在寻找解决方案,我找不到简单的答案。我正在尝试从导入的类中创建一个对象,然后在该对象上调用一个方法。
from MySchedule import *
my_schedule = MySchedule(self.driver)
my_schedule.navigate_to_my_schedule() # getting an error here
错误是
AttributeError: MySchedule object has no attribute 'navigate_to_my_schedule'
来自MySchedule.py
的代码:
class MySchedule:
def __init__(self, driver):
self.driver = driver
self.nav_btn = self.driver.find_element_by_id('locButton_1')
self.header = self.driver.find_element_by_id('panelTitle_1')
def navigate_to_my_schedule(self):
self.nav_btn.click()
答案 0 :(得分:2)
问题是您使用MySchedule
作为模块名称和类名称,并使用from MySchedule import *
。
我建议将import
语句更改为
import MySchedule
并将该课程称为MySchedule.MySchedule
。
有关通配符导入的进一步讨论,请参阅Should wildcard import be avoided?