Попытка запланировать каждые х минут функции из класса - PullRequest
0 голосов
/ 06 июня 2019

Мне нужна помощь с чем-то, что я не могу исправить.Я пытался вызывать fuction из класса каждые X минут, используя Расписание, но безуспешно.это ошибка, которую я получил при запуске кода:

class MyClass():
    def __init__(self):
        #print('ok3')
        chrome_options = Options()  
        chrome_options.add_argument("--headless")  
        self.driver = webdriver.Chrome(chrome_options=chrome_options)



    def tearDown(self):
        self.driver.quit()

    def login(self):
        print('Trying to login...')
        self.driver.get('xxxxx')
        elements = self.driver.find_elements_by_class_name("fld")
        button = self.driver.find_element_by_id("sgnBt")
        button.click()
        print("Login success")

    def dothis(self):
        print('Starting to fetch...')


MyClass1=MyClass()
MyClass1.login()

schedule.every(0.1).minutes.do(MyClass,MyClass1.dothis())

while True:
    schedule.run_pending()
    time.sleep(1)

Traceback:

Traceback (most recent call last):
  File "C:\Users\abc\Desktop\EDU Creator Pyhon (1)\EDU Creator Pyhon\ebay-new.py", line 193, in <module>
    schedule.run_pending()
  File "C:\Users\abc\AppData\Local\Programs\Python\Python37-32\lib\site-packages\schedule\__init__.py", line 563, in run_pending
    default_scheduler.run_pending()
  File "C:\Users\abc\AppData\Local\Programs\Python\Python37-32\lib\site-packages\schedule\__init__.py", line 94, in run_pending
    self._run_job(job)
  File "C:\Users\abc\AppData\Local\Programs\Python\Python37-32\lib\site-packages\schedule\__init__.py", line 147, in _run_job
    ret = job.run()
  File "C:\Users\abc\AppData\Local\Programs\Python\Python37-32\lib\site-packages\schedule\__init__.py", line 466, in run
    ret = self.job_func()
TypeError: __init__() takes 1 positional argument but 2 were given

1 Ответ

0 голосов
/ 08 июня 2019
schedule.every(0.1).minutes.do(MyClass,MyClass1.dothis())

Вы указываете 2 аргумента для schedule.do (Myclass, MyClass.dothis ())

приведите один аргумент.

Например:

schedule.every(0.1).minutes.do(MyClass1.dothis())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...