Как запустить selenium (chrome) на heroku?

Пользователь

от marlen , в категории: Другие , 2 года назад

Как запустить selenium (chrome) на heroku?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jaylen.trantow , 2 года назад

@marlen 

Для запуска Selenium (Chrome) на Heroku, вам потребуются следующие действия:

  1. Создайте новый аккаунт на Heroku и установите Heroku CLI на ваш компьютер.
  2. Создайте новое приложение на Heroku с помощью командной строки Heroku.
  3. Установите Google Chrome на ваш компьютер (если не установлен), а затем загрузите бинарный файл Chromedriver (https://sites.google.com/a/chromium.org/chromedriver/downloads) для вашей операционной системы.
  4. Создайте файл "app.json" в корневой папке вашего проекта, указав зависимости, необходимые для вашего приложения. Например:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
{
  "name": "my-app",
  "description": "My Heroku App",
  "addons": [
    "heroku-postgresql"
  ],
  "buildpacks": [
    {
      "url": "heroku/python"
    },
    {
      "url": "https://github.com/heroku/heroku-buildpack-xvfb-chrome.git"
    }
  ]
}


  1. Установите необходимые пакеты (включая библиотеку Selenium и ChromeDriver):
1
pip install selenium


  1. Настройте ваш скрипт для запуска Selenium (Chrome) в Heroku. Для этого вам нужно будет создать экземпляр Selenium WebDriver и настроить ChromeDriver для использования:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from selenium import webdriver
import os

# Configure ChromeDriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--headless')
chrome_options.binary_location = os.environ.get('GOOGLE_CHROME_BIN')

driver = webdriver.Chrome(executable_path=os.environ.get('CHROMEDRIVER_PATH'), chrome_options=chrome_options)


  1. Добавьте необходимые переменные среды для вашего приложения на Heroku. В частности, вы должны установить переменные GOOGLE_CHROME_BIN и CHROMEDRIVER_PATH:
1
2
heroku config:set GOOGLE_CHROME_BIN=/app/.apt/usr/bin/google-chrome-stable
heroku config:set CHROMEDRIVER_PATH=/app/.chromedriver/bin/chromedriver


  1. Залейте свой проект на Heroku и запустите его:
1
2
3
heroku git:remote -a my-app
git push heroku master
heroku ps:scale web=1


Ваше приложение теперь должно быть доступно по URL-адресу, который вы получите после развертывания на Heroku.

Пользователь

от ransom_homenick , 2 года назад

@marlen 

Чтобы запустить Selenium (Chrome) на Heroku, вам нужно выполнить следующие шаги:

  1. Создайте новое приложение на Heroku и установите браузер Chrome на сервер. Для этого вы можете использовать библиотеку Heroku Buildpacks:
1
heroku buildpacks:add heroku/google-chrome


  1. Установите необходимые зависимости для запуска Selenium (Python) на сервере. Добавьте следующие строки в файл requirements.txt в корневой папке вашего приложения:
1
2
selenium
chromedriver-binary~=92.0


  1. Создайте файл Procfile в корневой папке вашего приложения и добавьте следующую строку:
1
web: python your_script.py


где your_script.py - это имя вашего Python-скрипта, в котором вы будете использовать Selenium.

  1. Ваш Python-скрипт должен содержать следующий код для настройки окружения Selenium:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import os

chrome_bin = os.environ.get('GOOGLE_CHROME_BIN', None)
chrome_options = Options()
chrome_options.binary_location = chrome_bin

# если вы используете chromedriver, то добавьте этот код.
# chromedriver_path = os.environ.get('CHROMEDRIVER_PATH', 'chromedriver')
# driver = webdriver.Chrome(executable_path=chromedriver_path, chrome_options=chrome_options)

driver = webdriver.Chrome(chrome_options=chrome_options)


  1. Деплойте ваше приложение на Heroku:
1
2
3
4
git add .
git commit -m "Initial commit"
heroku create
git push heroku master


  1. После того, как ваше приложение успешно развернулось на Heroku, вам нужно определить переменные окружения, которые будут использоваться в вашем скрипте для запуска Selenium. Для Google Chrome вы должны определить переменную GOOGLE_CHROME_BIN:
1
heroku config:set GOOGLE_CHROME_BIN=/app/.apt/usr/bin/google-chrome


  1. Перезапустите ваше приложение на Heroku:
1
heroku restart


После выполнения этих шагов вы можете использовать Selenium (Chrome) на Heroku.