Ваша проблема на одну строку выше:
self.driver = webdriver.Firefox
Это не создает объект браузера. Он просто устанавливает self.driver
в класс webdriver.Firefox
, что означает, что self.driver.implicitly_wait(30)
пытается использовать implicitly_wait
статическим способом, то есть webdriver.Firefox.implicitly_wait(30)
, поэтому он пропускает экземпляр, то есть webdriver.Firefox.implicitly_wait(an_actual_browser, 30)
.
Вы пропали без вести ()
:
self.driver = webdriver.Firefox() # which will potentially ask for a path to
# firefox/geckodriver if it is not in PATH,
# but that is out of the scope of this question