Что нужно сделать, чтобы бот работал на постоянке, даже если я выключал бы свой пк/посоветуйте какие нибудь сервисы,если такие знаете.
Отслеживать
задан 18 июл 2022 в 16:34
Marco Polo Marco Polo
21 1 1 золотой знак 2 2 серебряных знака 6 6 бронзовых знаков
Yandex.Cloud, Sbercloud?
18 июл 2022 в 16:45
Запускать на компьютере, который не выключается (например, на сервере)
18 июл 2022 в 16:46
а на каком сервере?(если знаете)
18 июл 2022 в 16:50
На любом какой вам понравится, хостингов слишком много, чтобы советовать какой-то конкретный
18 июл 2022 в 16:51
Бесплатный с ограничением по времени работы, (можно вписаться, если не сильно нагруженный) с хорошей документацией heroku
18 июл 2022 в 18:53
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Для этого нужно использовать любой из существующих хостингов. Например google cloud, если ваш бот не большой. В противном случае придется пользоваться платными хостингами.
Отслеживать
5,252 2 2 золотых знака 8 8 серебряных знаков 22 22 бронзовых знака
ответ дан 18 июл 2022 в 16:59
root_of_the_live root_of_the_live
71 10 10 бронзовых знаков
ОЧЕНЬ ПОЛЕЗНО 👍 Лайфхак, который подскажет полезных ботов в телеграме 😎
Я воспользовался сервисом https://www.pythonanywhere.com там все бесплатно и понятно. Регистрируешься, затем добавляешь файлы с ботом в раздел Files и после запускаешь.
Отслеживать
46.5k 16 16 золотых знаков 56 56 серебряных знаков 97 97 бронзовых знаков
ответ дан 17 авг 2022 в 5:05
1 1 1 бронзовый знак
Highly active question. Earn 10 reputation (not counting the association bonus) in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.
- python
- telegram-bot
- telegram
- telebot
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Источник: ru.stackoverflow.com
Как создать простого бота с автоматическим входом в систему с помощью Python и Selenium
Автоматизация, несомненно, является одним из самых желанных навыков, которыми может обладать программист. Автоматизация обычно используется для задач, которые повторяются, скучны, занимают много времени или иным образом неэффективны без использования сценария.
С помощью веб-автоматизации вы можете легко создать бота для выполнения различных задач в Интернете, например, для отслеживания конкурирующих цен на отели в Интернете и определения лучшей цены.
Пишем Telegram бота на Python + Загружаем Telegram бота на сервер(хостинг)
Лично я всегда находил вход в свою электронную почту довольно повторяющимся и скучным, поэтому для простого примера, чтобы вы, ребята, начали работать с веб-автоматизацией, давайте реализуем автоматизированный скрипт Python для входа в систему с помощью одного клика в учетной записи Gmail.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Установка и настройка
В этом уроке мы будем использовать следующие инструменты:
- питон язык программирования
- Гугл Хром браузер
- Селен инструментарий автоматизации браузера
- Chrome Driver веб-драйвер для Chrome
Для нашей программы мы будем использовать питон язык программирования, а именно версия 2.7.11. Крайне важно, чтобы мы установили довольно новую версию Python 2, потому что она поставляется с PIP, что позволит нам устанавливать сторонние пакеты и фреймворки, которые нам понадобятся для автоматизации наших скриптов.
После установки перезагрузите компьютер, чтобы изменения вступили в силу. Используйте команду pip install selenium, чтобы добавить Селен инструментарий веб-автоматизации для Python. Selenium позволит нам программно прокручивать, копировать текст, заполнять формы и нажимать кнопки.
Наконец скачайте Selenium Chrome Driver исполняемый файл, который будет открывать Google Chrome по мере необходимости для выполнения наших автоматизированных задач. Драйвер Chrome — это просто способ открыть Google Chrome (который уже должен быть установлен) для программного доступа к стандартным операциям браузера.
Просто загрузите самый последний ZIP-файл с ВотИзвлеките исполняемый файл chromedriver.exe и поместите исполняемый файл в любой каталог. Обязательно запишите, где находится ваш исполняемый файл, потому что он нам понадобится, как только мы начнем.
Запуск программы
Как уже упоминалось, мы будем использовать Селен фреймворк веб-автоматизации для программного входа. Первым делом нужно импортировать каждый модуль, который нам понадобится, из библиотеки Selenium Python, которую мы установили еще раньше с помощью PIP.
Давайте откроем IDLE или другой редактор кода, создайте новый файл Python с расширением .py и импортируйте следующие модули:
из селена импорт вебдрайвер
из selenium.webdriver.common.by импортировать по
из selenium.webdriver.support.ui import WebDriverWait
из selenium.webdriver.support import Ожидаемые_условия как EC
Далее мы создадим две строки, которые представляют наше имя пользователя и пароль для учетной записи электронной почты. Обратите внимание на заглавные буквы, особенно в строке пароля.
usernameStr = ‘putYourUsernameHere’
passwordStr = ‘putYourPasswordHere’
Теперь, когда у нас все настроено, чтобы начать процесс входа в систему, нам нужно указать в окне браузера открыть Google Chrome и перейти на страницу входа в Gmail.
Если вы этого еще не сделали, убедитесь, что ваш скрипт Python сохранен в том же месте, что и исполняемый файл chromedriver.exe, который мы извлекли ранее.
browser = webdriver.Chrome ()
browser.get (( ‘https://accounts.google.com/ServiceLogin?
‘Сервис = почта и продолжить = https: //mail.google’
‘.Com / почта / # Идентификатор’))
В поисках нашего элемента
Мы успешно получили браузер для открытия Gmail, но теперь нам нужно найти поля ввода на веб-странице, в которые мы можем ввести наше имя пользователя и пароль.
Автоматизированный бот на Selenium
Selenium – один из самых популярных фреймворков автоматизации тестирования. Несмотря на то, что Selenium поддерживает шесть популярных языков программирования, его можно использовать для волшебной реализации с наименьшим количеством кода в связке с Python.
Помимо автоматизированного веб-тестирования, веб-скрейпинг с Selenium на Python – крайне популярный вариант, который вы можете реализовать с меньшим количеством кода и ошибок на Python. Как QA-инженер, я по-прежнему использую другие языки программирования, такие как Java и JavaScript в связке с Selenium, но Python – мой основной инструмент для простых/комплексных задач веб-автоматизации.
Как я уже упоминал, Python – третий по популярности язык после HTML/CSS и JavaScript. Бот на Selenium с Python может широко использоваться для автоматизации различных сценариев и задач.
В этом руководстве я подробно расскажу, как создать автоматизированного бота на Selenium с Python. Знания окажутся для вас полезными, поскольку мы коснемся различных аспектов автоматизированного тестирования с Selenium.
Инструменты для создания бота
Одной из основных целей создания бота является использование возможностей, предлагаемых Selenium для автоматизации взаимодействия с web-элементами в DOM. Существует набор инструментов Selenium для автоматизации веб-браузеров, которые можно использовать для целого ряда задач автоматизации, такие как веб-скрейпинг, автоматизированное веб-тестирование, кросс-браузерное тестирование и т.д.
Итак, давайте посмотрим на основные инструменты, необходимые для создания бота с Selenium.
Selenium
Библиотека Python – обертка над Selenium WebDriver, обеспечивает соединение и простой API для написания функциональных тестов для автоматизации веб-задач, таких как нажатие на кнопки, навигация по страницам и заполнение форм.
Скрипт теста не взаимодействует напрямую с браузером. Selenium WebDriver — это ядро фреймворка Selenium. Как говорится в этом руководстве, Selenium WebDriver играет важную роль в соединении с браузером с помощью соответствующего драйвера браузера. Однако, вы можете еще глубже погрузиться в Selenium, если хотите узнать больше о его компонентах.
Если тесты должны выполняться в локальной Selenium Grid, на целевой машине должен быть установлен соответствующий драйвер браузера:
Загружать и устанавливать драйверы браузера необходимо только если вы хотите выполнять тесты в локальном Selenium Grid. В случае с удаленным Selenium WebDriver тесты выполняются в облачном Selenium Grid (например, LambdaTest).
Фреймворки для автоматизации на Python
Python – самый популярный выбор для автоматизированного тестирования с Selenium, ведь сам по себе язык не такой многословный, поддерживает динамическую типизацию, дает беспроблемную отчетность и многое другое. Широкий спектр фреймворков Selenium поддерживает параллельное тестирование, что ускоряет время выхода на рынок.
В этом руководстве я затронул основы Selenium Python, так позвольте мне углубиться в популярные фреймворки Selenium для автоматизации тестирования:
PyUnit (Unittest)
Unittest (или PyUnit) – это фреймворк для тестирования на Python по умолчанию, который поставляется «из коробки». Этот фреймворк вдохновлен другим популярный фреймворком JUnit.
Unittest обеспечивает простое и гибкое выполнение тест-кейсов с быстрой генерацией отчетов о тестировании. Unittest использует camelCase вместо соглашения об именовании snake_case в Python.
Руководство по Selenium PyUnit может стать хорошей отправной точкой для тех, кто хочет использовать фреймворк для автоматизированного тестирования.
PyTest
PyTest – это открытый фреймворк для тестирования, который поддерживает модульное тестирование, функциональное и тестирование API. Он доступен для Python версии 3.5 и выше.
Объектная модель страницы (POM) в Selenium Python играет важную роль в улучшении поддержки и переиспользовании кода. Я отдаю предпочтение PyTest, а не PyUnit из-за богатого набора плагинов – настоящего блага для QA-инженеров.
Вот несколько популярных плагинов PyTest для QA-инженеров:
- pytest-randomly
- pytest-cov
- pytest-django
- pytest-bdd
Если вы хотите рассмотреть все аспекты автоматизации тестирования с Selenium и PyTest, обратитесь к этому руководству. Оно окажется полезным как новичкам, так и профессионалам, и поможет узнать, как использовать фреймворк PyTest для автоматизации.
Robot
Robot – это открытый фреймворк для автоматизации, который позволяет писать тест-кейсы на Gherkin. Лучше всего работает в методологии Behaviour Driven Development (BDD) в связке с Selenium и Gherkin. Robot также используется для приемочного TDD и автоматизации роботизированных процессов (RPA).
Ядро Robot написано на Python, но он также может работать с Jython и IronPython. Изначально он не поддерживает параллельное тестирование, но предоставляет множество простых в использовании расширений и библиотек.
Для демонстрации реализации бота Selenium с Python я собираюсь использовать фреймворк PyTest.
Behave
Behave – фреймворк для тестирования, работающий в связке с Behavior-Driven Development (BDD). У него обширная документация и он хорошо поддерживается сообществом. Еще он обеспечивает интеграцию с Django и Flask – двумя самыми популярными веб-фреймворками на Python.
Behave также пригодится для blackbox – тестирования. Связка BDD, Behave и Selenium имеет свой собственный набор преимуществ и недостатков, но это все еще отличный фреймворк для автоматизации тестирования на Python.
Помимо тех, что я перечислил, есть еще ряд полезных фреймворков, которые можно изучить, чтобы на полную использовать возможности Selenium и Python.
Планировщики задач для Python
Планировщики задач – это программы, которые позволяют планировать задачи и сценарии через определенные промежутки времени. С другой стороны, сценарии также можно планировать или запускать при достижении определенных условий.
Планировщик задач можно использовать для запуска пакетного файла (или .bat), который запускает соответствующий скрипт на Python.
Вот некоторые распространенные программы, обеспечивающие планирование задач на Python:
Cron
Cron – планировщик задач, который основывается на времени в Unix-подобных операционных системах, таких как Linux и macOS. Он позволяет планировать такие задачи, как создание резервных копий, логирование и запуск скриптов.
Планировщик задач Windows
Планировщик задач – компонент ОС Windows, который позволяет автоматически создавать и запускать практически любую задачу. Обычно, система и некоторые приложения поддерживают автоматизацию и обслуживание по расписанию. Такие задачи, как дефрагментация диска, очистка диска, обновления и т.д. могут быть запланированы автоматически с помощью планировщика задач Windows.
Планировщик задач Windows работает, отслеживая время и события на компьютерах, и выполняет задачу, если выполняются необходимые условия.
Для текущей задачи я собираюсь использовать планировщик задач Windows вместе с библиотекой Win32com – тонкой оберткой на Python, которая помогает автоматизировать приложения Windows.
Теперь, когда мы коснулись неотъемлемых аспектов создания бота на Selenium и Python, давайте испачкаем руки реализацией.
Создание бота на Selenium с Python
Выполните указанные ниже шаги, чтобы создать среду разработки для нашей реализации:
Создание виртуальной среды и установка зависимостей
Виртуальная среда (или virtualenv) — инструмент для создания изолированных сред Python. Для этой цели в Python есть модуль venv, который поддерживает создание облегченных «виртуальных сред» с изолированными каталогами.
Вы можете ознакомиться с этим руководством для быстрого погружения в автоматизированное тестирование с помощью Selenium и Python.
python3 -m venv env
- Выполните одну из команд ниже, чтобы активировать эту виртуальную среду.
.envScriptsactivate
source env/bin/activate
- Выполните следующую команду, чтобы установить Selenium для Python:
pip install selenium
- Выполните следующую команду, чтобы установить фреймворк PyTest:
pip install pytest
- Установите пакет pywin32 для работы с планировщиком задач Windows:
pip install pywin32
Структура папок для тестовых скриптов
Проект состоит из двух файлов:
- main.py – Содержит основной скрипт, который позволяет входить в платформу LambdaTest и получать подробную информацию о соответствующих тестах.
- scheduler.py – Содержит реализацию для планирования запуска тестов.
Реализация бота
Для демонстрации создания бота Selenium с Python мы автоматизируем тестовый сценарий входа на платформу LambdaTest. Тестируемый URL-адрес — https://accounts.lambdatest.com/login
Поскольку тест демонстрируется в LambdaTest Grid, я использую удаленный WebDriver в Selenium вместо локального. Для начала мы импортируем необходимые пакеты.
from selenium import webdriver