(Ошибка 13) Отказано в разрешении при инициализации селенового хромированного драйвера в задаче воздушного потока.Linux

Ответить
Anonymous
 (Ошибка 13) Отказано в разрешении при инициализации селенового хромированного драйвера в задаче воздушного потока.

Сообщение Anonymous »

Я столкнулся с ошибкой PermissionError: [Errno 13] Разрешение отклонено при попытке инициализировать Selenium ChromeDriver в задаче Airflow (с использованием Docker). Ошибка возникает, когда сценарий пытается исправить исполняемый файл ChromeDriver, расположенный в /usr/local/bin/chromedriver. Вот соответствующая часть журнала:

Код: Выделить всё

[2025-01-18, 22:30:22 UTC] {logging_mixin.py:190} INFO - Failed to initialize WebDriver: [Errno 13] Permission denied: '/usr/local/bin/chromedriver'
Что я пробовал:
Проверил права доступа к файлу:
Проверил, что /usr/local/bin/chromedriver существует и выполнен разрешения (chmod +x /usr/local/bin/chromedriver).
Подтверждено, что файл принадлежит пользователю, выполняющему задачу Airflow (chown $USER /usr/local/bin/chromedriver).
Проверенный PATH:
Убедено, что /usr/local/bin/ включен в среду PATH. переменная.
Переустановлен ChromeDriver:
ChromeDriver загружен и переустановлен с официального сайта, чтобы обеспечить совместимость с установленной версией Chrome.
Бег с повышенными Разрешения:
Временно запустил сценарий с помощью sudo, чтобы проверить, была ли это проблема с разрешениями, но это не жизнеспособное долгосрочное решение.
Обновленные зависимости:
Переустановлены Selenium и undetected_chromedriver, чтобы убедиться, что они актуальны.
Вот соответствующая часть кода, в которой возникает ошибка:< /p>

Код: Выделить всё

from undetected_chromedriver import Chrome as uc

def initialize_driver(headless=True):
driver = uc.Chrome(
headless=headless,
executable_path='/usr/local/bin/chromedriver'
)
return driver
Полная обратная трассировка выглядит следующим образом:

Код: Выделить всё

Traceback (most recent call last):
File "/opt/airflow/dags/job_scraper_dag.py", line 40, in scrape_and_store
driver = initialize_driver(headless=config["HEADLESS"])
File "/opt/airflow/dags/app/scrape.py", line 54, in initialize_driver
driver = uc.Chrome()
File "/home/airflow/.local/lib/python3.11/site-packages/undetected_chromedriver/__init__.py", line 258, in __init__
self.patcher.auto()
File "/home/airflow/.local/lib/python3.11/site-packages/undetected_chromedriver/patcher.py", line 150, in auto
return self.patch_exe()
File "/home/airflow/.local/lib/python3.11/site-packages/undetected_chromedriver/patcher.py", line 347, in patch_exe
with io.open(self.executable_path, "r+b") as fh:
PermissionError: [Errno 13] Permission denied: '/usr/local/bin/chromedriver'
Среда:
Версия Airflow: 2.10.4
Версия Python: 3.11
ChromeDriver Версия: 132.0.6834.83

Подробнее здесь: https://stackoverflow.com/questions/793 ... in-airflow
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»