Задать вопрос
  • Как достать нужную информацию с querySelector из shadowRoot(open) Tampermonkey?

    altprtcl
    @altprtcl
    Software Developer
    Shadow DOM (aka Shadow Root) - это отдельное DOM дерево, изолированное от основного, соответственно получить его элементы через запрос к document нельзя, нужно сначала получить сам Shadow Root.

    В вашем случае:
    var shadow = document.querySelector('csfloat-item-row-wrapper').shadowRoot;


    И только теперь, можно получить элементы внутри, обратившись к переменной shadow:
    var text = shadow.querySelector('div.float-row-wrapper csfloat-float-bar').getAttribute('float');


    Почитать про Shadow DOM подробнее можете здесь, все нюансы кратко и доходчиво
    Ответ написан
    Комментировать
  • Visual Basic или Python для Excel?

    altprtcl
    @altprtcl
    Software Developer
    Макросы, кнопки, формы?
    Только VBA. Насколько знаю, Microsoft на данный момент не предлагает никаких иных язык программирования для взаимодействия непосредственно в самом Excel

    Аналитика или обработка данных а - ля Data Science?
    Шагайте в сторону Python, тут есть куда расти, он намного понятнее и даёт больше контроля. Про огромное количество инструментов на все случаи жизни даже не зарекаюсь, чего только библиотеки pandas и numpy стоят?

    Вообще, всё зависит исключительно от того, какие цели вы себе ставите и для чего собираетесь использовать язык. Visual Basic - это конечно прошлый век, но некоторые до сих пор его используют, однако будущего у него очевидно нет, чего не скажешь о Python.

    Python - это язык с большим сообществом, начать свой путь в нём несложно, его сейчас даже в университетах учат на специальностях, которые казалось бы далеки от программирования, просто потому, что он великолепен для аналитики и обработки информации. В целом, лично я бы рекомендовал переходить на Python, но решать только вам
    Ответ написан
    1 комментарий
  • Архитектура взаимодействия aigram с другим микросервисом?

    altprtcl
    @altprtcl
    Software Developer
    Исходя из того, что я понял, подход вполне правильный, однако использование apscheduler - третье колесо для велосипеда. Библиотека aiogram изначально является асинхронной, поэтому лучше будет использовать встроенные функции AsyncIO:
    if __name__ ==  "__main__":
        loop = asyncio.get_event_loop()
        loop.create_task(dp.start_polling(bot)) #Запуск диспетчера aiogram
        loop.create_task(myfunc()) #Запуск вашей функции (Перепишите её под бесконечный цикл)
        loop.run_forever()

    Альтернативно можно использовать модуль Threading или Multiprocessing, чтобы запускать функцию через них
    Ответ написан