Я уже какое то время занимаюсь написанием бота для Instagram, используя фреймворк Selenium. Недавно, я решил перенести большую часть кода в класс, чтобы все было правильно и православненько, и было уже аккуратно всё рассортировал на функции, а сами функции запихнул в класс. как резко ощутил где то в груди боль.
Вот небольшая вырезка из основного кода, которая наглядно продемонстрирует всю суть проблемы:
from data import login, password #данные аккаунта, которые программа вводит при авторизации
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
class Newbie():
def __init__(self, login, password):
self.login = login
self.password = password
self.driver = webdriver.Firefox()
def logging(self, login, password):
driver = self.driver
try:
driver.get("https://www.instagram.com")
time.sleep(5)
login_input = driver.find_element_by_name("username")
login_input.clear()
login_input.send_keys(login)
time.sleep(5)
password_input = driver.find_element_by_name("password")
password_input.clear()
password_input.send_keys(password)
password_input.send_keys(Keys.ENTER)
time.sleep(5)
except Exception as ex:
print(ex)
self.killdriver() #функция которая закрывает браузер
Newbie.logging(login, password)
TypeError: logging() missing 1 required positional argument: 'password'
Программа отчётливо говорит мне что в функции не хватает одного аргумента при вызове, хотя я указал всё так как и планировал, и до этого всё прекрасно работало. Объясните пожалуйста в чём тут ошибка, потому что активное гугление на протяжении двух последних дней не дало никакого результата, кроме головной боли и суицидальных мыслей.