Альтернативы для выполнения сценария селена

У меня есть selenium сценарий с python 3, Мне нужно запускать его каждый день в 7 утра в течение 5 минут, но я не могу оставить свой ноутбук в режиме 24/7 только ради этого. Что будет самой простой / лучшей альтернативой?

Я проверил Lambda AWS но я не могу установить chrome (или безголовая версия) там и у меня нет опыта работы с серверами.

2 ответа

Решение

AWS Lambda - жизнеспособное решение для вашей цели, особенно если сценарий будет иметь небольшое время выполнения. Недавно они увеличили максимальное время выполнения до 15 минут, так что вы должны быть в порядке.

Получить безголовый Chrome в Lambda (в Python; там полно решений JS/node.js:)) можно - я сам успешно использовал этот проект в прошлом - https://github.com/21Buttons/pychromeless

Чтобы запланировать выполнение в желаемое время, вы можете использовать Amazon CloudWatch.

Чтобы выполнить скрипт Selenium с Python 3 без установки браузера, вы можете использовать GhostDriver.

GhostDriver

Ghost Driver - это реализация протокола Remote WebDriver с использованием PhantomJS в качестве внутреннего сервера. GhostDriver разработан как неотъемлемая часть самого PhantomJS с JavaScript API.

Дополнительные возможности WebDriver через GhostDriver

  • phantomjs.page.settings.SETTING = VALUE
  • phantomjs.page.customHeaders.HEADER = VALUE
  • phantomjs.page.whitelist
  • phantomjs.page.blacklist
  • unhandledPromptBehavior
  • loggingPrefs
  • phantomjs.binary.path
  • phantomjs.ghostdriver.path
  • phantomjs.cli.args
  • phantomjs.ghostdriver.cli.args

Основные преимущества GhostDriver

  • Скриншот
  • Автоматизация страницы
  • Мониторинг сети
  • Для запуска модульных тестов в командной строке
  • В сочетании с QUnit для набора тестов

Пример

  • Блок кода:

    from selenium import webdriver
    
    driver = webdriver.PhantomJS(executable_path='/path/to/phantomjs')
    driver.get('https://www.google.com/')
    print(driver.title)
    driver.quit()
    
  • Консольный вывод:

    Google
    
Другие вопросы по тегам