Работа с путями в BAS
Модуль «Путь» в Browser Automation Studio — строить, нормализовать и разрешать пути к файлам и папкам динамически, чтобы бот находил свои файлы где угодно.
Бот, который жёстко прописывает C:\Users\me\bot\data.txt, ломается в момент запуска на другой машине. Модуль «Путь» — это то, как этого избежать: строить пути динамически, чтобы файлы разрешались правильно везде, где живёт скрипт.
Зачем путям отдельный модуль
Динамический путь — это путь к файлу или папке, который меняется в зависимости от расположения. Вам редко нужен фиксированный абсолютный путь; вам нужно «файл данных рядом с этим скриптом» или «папка профилей внутри проекта». Два частых случая, которые решает модуль: размещение профилей браузера в корневой папке проекта по ходу работы и определение расширения файла из полученного пути.
Действия
Разрешение мест проекта.
- Путь к директории проекта — папка, в которой лежит проект.
- Путь к файлу проекта — сам файл проекта.
- Получить системный путь — известное системное расположение.
Стройте всё относительно них — и бот останется портативным.
Сборка и очистка путей.
- Объединить путь — соединить директорию и имя в один валидный путь, не думая о слешах.
- Нормализовать путь — привести путь к канонической форме.
- Путь установить — задать рабочий путь.
Инспекция пути.
- Получить файл из пути — вытащить имя файла.
- Получить путь из пути — вытащить директорию.
- Получить расширение файла — прочитать расширение, например, чтобы решить, как обработать скачанный файл.
- Является ли путь абсолютным — проверить, абсолютный путь или относительный, перед использованием.
Привычка
Считайте жёстко прописанные абсолютные пути багом. Опирайтесь на директорию проекта, объединяйте для доступа к файлам и нормализуйте то, что строите. Сделайте так — и тот же бот запустится без изменений на вашей машине, машине коллеги и VPS, куда вы деплоите, — ровно то, что нужно, когда проект уходит со стола.
Вопросы и ответы
Что такое динамический путь в BAS?
Динамический путь — это путь к файлу или папке, который меняется в зависимости от того, где запускается скрипт. Вместо жёстко прописанного расположения вы строите путь относительно проекта, чтобы бот находил файлы на любой машине.
Как ссылаться на папку проекта в BAS?
Модуль «Путь» даёт действия для пути к директории проекта и файлу проекта, плюс объединение и нормализацию. Стройте пути от директории проекта, чтобы профили, ресурсы и вывод разрешались правильно везде, где запущен бот.
Ещё по теме
- Browser Automation Studio: полный практический гидГид
- Создаём первого бота в Browser Automation StudioПошаговый разбор создания первого рабочего бота в BAS — от пустого проекта до процесса, который ходит по страницам, извлекает данные и работает в несколько потоков.
- Настройка прокси в Browser Automation StudioКак правильно настроить прокси в BAS — типы прокси, привязка по потокам, ротация и проверки, которые не дают мультиаккаунт-ботам попасть под бан.
- Поиск элементов в BAS: селекторы, которые не ломаютсяКак работает поиск элементов в Browser Automation Studio — CSS против XPath, почему записанные селекторы ломаются и как писать селекторы, переживающие изменения страницы.