CoderCastrov logo
CoderCastrov
Парсер

Легко разверните свои проекты Selenium на Python с помощью этого скрипта, который делает всю тяжелую работу за вас.

Легко разверните свои проекты Selenium на Python с помощью этого скрипта, который делает всю тяжелую работу за вас.
просмотров
1 мин чтение
#Парсер
Table Of Content

    Поскольку вы здесь, вероятно, у вас уже есть опыт работы с Selenium, и вы понимаете, насколько неприятно приходится загружать и настраивать Chromium и Chromedriver каждый раз, когда вам нужно запустить или развернуть свой проект в новой среде. И если вы кто-то, кто должен переключаться между Unix и Windows, я знаю, как это бывает. Это определенно не приятный опыт.

    Давайте посмотрим, можем ли мы автоматизировать настройку этого инструмента автоматизации. 😝

    1: Найдите последнюю ревизию Chromedriver и Chromebinary, доступную.

    Мы будем использовать файл LAST_CHANGE для этого. Ссылки разные для разных платформ. Поэтому мы определяем платформу и создаем ссылку следующим образом.

    2: После того, как у нас есть ревизия, мы создаем ссылку для Chromebinary и Chromedriver.

    3: Теперь, когда у нас есть ссылки, мы загружаем zip-архивы и извлекаем их.

    Вы можете использовать функцию загрузки, доступную здесь или написать свою собственную.

    4: Теперь нам нужно сделать файлы исполняемыми и удалить zip-архивы.

    Вышеуказанная функция chmod работает как для файлов, так и для каталогов. Она доступна здесь.

    5: У нас есть все, что нам нужно, теперь нам просто нужно сохранить путь к загруженным бинарным файлам, так как они нам понадобятся позже.

    6: Уф, у нас наконец-то есть все, что нам нужно. Давайте прочитаем файл конфигурации и создадим объект Chrome.

    И мы закончили. 😎

    Полный скрипт доступен здесь.

    И если вы просто хотите использовать его или протестировать, вам нужно всего лишь выполнить следующую команду:

    pip install palladium-python

    И использовать его так:

    Проект pypi доступен здесь.

    И он настроит все для вас!

    ChromeCustom - это обертка класса Chrome с некоторыми дополнительными функциями. Возможно, я расскажу об этом в следующей статье.

    Счастливого кодирования! 🤓