selenium не совместим с kivy?
Хотел сделать графический интерфейс для бота, но подумал, что есть возможная несовместимость. Основной скрипт бота в функции spam(), написаный на selenium. После нажатия на одну из кнопок "Spam Admirers Disable" скрипт начинает работу, но сам интерфейс намертво не отвечает пока selemium не закончит свою работу в браузере. Возможно ли эту проблему решить с помощью docker'a и глупо ли совмещать kivy c selenium'ом?
def btn_admirers(instance):
instance.text = 'Spam Admirers Activate'
instance.background_color = [1, 0, 0, 1]
main.spam()
class SpLan(App):
def build(self):
button_admirers = BoxLayout(orientation='vertical', padding=[25], spacing=10)
button_admirers.add_widget(Button(text="Spam Admirers Disable",
on_press=btn_admirers))
Кстати цвет и надпись на кнопке тоже меняется только по окончанию работы selenium'a, однако я указал это раньше запуска функции
def btn_admirers(instance):
instance.text = 'Spam Admirers Activate'
instance.background_color = [1, 0, 0, 1]
main.spam()
Пытаюсь запустить функцию spam() в отдельном потоке:
def btn_admirers(instance):
instance.text = 'Spam Admirers Activate'
instance.background_color = [1, 0, 0, 1]
tr = threading.Thread(target=main.spam(), args=[])
return tr.start()
Ничего не меняется. Скорее всего что-то делаю не так...
Ответы (1 шт):
Вопрос решен. В этом случае я возвращал и запускал уже вызванную функцию:
def btn_admirers(instance):
instance.text = 'Spam Admirers Activate'
instance.background_color = [1, 0, 0, 1]
tr = threading.Thread(target=main.spam(), args=[])
return tr.start()
В этом случае я возвращаю и запускаю переданную функцию:
def btn_admirers(instance):
instance.text = 'Spam Admirers Activate'
instance.background_color = [1, 0, 0, 1]
tr = threading.Thread(target=main.spam, args=[])
return tr.start()