Найти в Дзене
Usman's Lab

Автоматизация задач. Часть 2.

Салам. Продолжаю серию статей про автоматизацию задач в браузере, для чайников 👍
НО перед этим хочу поблагодарить автора канала PYTHONOMANIA из телеграмм, за тех. моменты.
Поехали Драйвер не обязательно скачивать вручную, его можно качать автоматически🚀
И ща это покажу.
Но перед этим нам надо установить готовую либу, открываем CMD / консоль / терминал (нажми (Win+R) напиши (cmd)) и пишем команду : pip install webdriver_manager После успешной установки, создаем файл с расширением .py где-нибудь (например в документах), открываем через редактор кода sublime text и пишем следующее:
Как видите на это раз мы добавили следующее: Этот вызов используется для автоматического управления версией ChromeDriver. ChromeDriverManager — это класс из библиотеки webdriver_manager, который автоматически скачивает и устанавливает необходимую версию драйвера Chrome. Метод install() скачивает ChromeDriver (если он ещё не установлен) и возвращает путь к исполняемому файлу драйвера, который будет использ
Оглавление

Салам.

Продолжаю серию статей про автоматизацию задач в браузере, для чайников 👍
НО перед этим хочу поблагодарить автора канала PYTHONOMANIA из телеграмм, за тех. моменты.


Поехали

Первый момент

Драйвер не обязательно скачивать вручную, его можно качать автоматически🚀
И ща это покажу.


Но перед этим нам надо установить готовую либу, открываем CMD / консоль / терминал (нажми (Win+R) напиши (cmd)) и пишем команду :

pip install webdriver_manager

После успешной установки, создаем файл с расширением .py где-нибудь (например в документах), открываем через редактор кода sublime text и пишем следующее:

main.py


Как видите на это раз мы добавили следующее:

-2

Этот вызов используется для автоматического управления версией ChromeDriver.

ChromeDriverManager — это класс из библиотеки webdriver_manager, который автоматически скачивает и устанавливает необходимую версию драйвера Chrome.

Метод install() скачивает ChromeDriver (если он ещё не установлен) и возвращает путь к исполняемому файлу драйвера, который будет использоваться для создания службы веб-драйвера.


Это упрощает жизнь. И позволяет всегда поддерживать стабильность, свежесть версий.

Теперь обратите внимание на следующее:

-3

Да, тут Вы должны будете писать свой скрипт, между этими комментариями.

Разглядывать теорию скучно. Давайте сразу к делу!

И так, моя первая идея, с которой легко справятся новички, это перейти на какой-нибудь сайт с бесплатным ИИ и сделать автоматизацию отправки сообщений и их получение.

Погнали


Я к примеру взял рандом сайт с бесплатным chatgpt (
trychatgpt [.] ru)
Вы можете взять любой другой, чтоб практиковать свои знания.


ВНИМАНИЕ!!! Это не реклама, используйте любой другой удобный для вас вариант.

!!! Во вторых, я не призываю использовать автоматизацию задач в незаконных целях, весь риск вы берете на себя!

И так, первое:

- Необходимо определиться куда нам надо писать сообщение, затем нажать на кнопку "Enter" для отправки сообщения.

С точки зрения разметки-HTML, в нашем случае это будут textarea.

-4

Найдите на сайте, поле куда надо писать свое сообщение.

  1. Определитесь, какой это тег. В большинстве случаев это: <textarea> либо <input>, в редких случаях это <div>, но это оочееень редко.
  2. Найдите в нем id, если его нет, то найдите class. Если и его нет, то можно будет воспользоваться XPATH с параметром placeholder к примеру: driver.find_element(By.XPATH, "//input[@placeholder='Ваше сообщение']")
  3. Для подтверждения отпрравки сообщения на сайтах. Если это <input> или <textarea> то, можно просто отправлять Enter, но если это не работает, то ищем кнопку, чаще она с id='submit' или id='send', а также с тегом <button> либо <input> (type='button')

Я выбрал сайт для тестирования trychatgpt как вы помните.

И вот что вышло:

-5

И у меня все отработало корректно:

-6

Код в текстовом варианте:

  1. # Чуть Ниже будет ваш код
  2. driver.get("https://trychatgpt.ru/")
  3. input_elem = wait.until(EC.visibility_of_element_located((By.ID, "input")))
  4. input_elem.send_keys("Hello")
  5. input_elem.send_keys(Keys.ENTER)
  6. sleep(10)
  7. # Чуть Выше булет ваш код

Я пронумеровал для наглядности, ща объясню:

2 строчка (driver.get(.....)) - Мы говорим браузеру, перейти на страницу, и указываем ее соотве́тственно.

3 строчка (input_elem.....) - Тут мы ждем загрузки элемента (поле ввода) пока он не будет виден, ищем мы его по id который равен "input".

4 строчка (send_keys("Hello")) - Тут обращаемся полю ввода и передаем команду send_keys, куда передаем строку (наше сооббщение).

5 строчка (Keys.ENTER) - Тут обращаемся тому самому полю ввода и говорим что, закончили, можно отправить сообщение.

Насчет "отправки сообщения", мы можем вместо enter, нажать на кнопку отправки, но ее нужно тоже определять/находить, а нажать enter в разы быстрее и скорее всего всегда будет работать без ошибок.

Окей, сообщение у нас отлично отправляяется, НО как же взять ответ от ИИ?

А вот, так:

-7

Вот что получилось:

-8

Видите строчки

  • You: Hello
  • ChatGPT: Hello! ........ и т.д.

Вот и все, мы сделали это. Хочу сказать что, это только пример, вы можете выбрать любой другой сайт предоставляющий бесплатно ИИ, и автоматизировать процесс!

Спасибо что прочитал до конца!

Хочешь 3 часть этой замечательной статьи? Тогда переходи на мой телеграмм канал (https://t.me/usman_lab) подписывайся и жми реакции!

Весь код, без ошибок будет на том канале!