Я пытаюсь использовать функции Azure с Python с планом потребления для очистки веб-страницы с помощью Selenium с Firefox. Что касается способа его использования, гораздо более практично (и дешевле) использовать план потребления, что означает, что я НЕ могу использовать контейнер Docker.
До сих пор я был в состоянии успешно включитьи укажите путь к двоичным файлам для Firefox вместе с двоичным файлом geckodriver
. Я получаю следующую ошибку:
1571952497758 mozrunner::runner INFO Running command: "/home/site/wwwroot/SharedCode/bin/firefox/firefox" "-marionette" "--headless" "-foreground" "-no-remote" "-profile" "/tmp/rust_mozprofileFyNhwV"
XPCOMGlueLoad error for file /home/site/wwwroot/SharedCode/bin/firefox/libmozgtk.so:
libgtk-3.so.0: cannot open shared object file: No such file or directory
Couldn't load XPCOM.
У меня сложилось впечатление, что Firefox / Selenium не нужен GTK, если он работает в режиме без головы (он есть):
webdriver_options = selenium.webdriver.firefox.options.Options()
webdriver_options.binary_location = str( (pathlib.Path(__file__).parent / "../bin/firefox/firefox").resolve() )
webdriver_options.add_argument("--headless")
webdriver = selenium.webdriver.Firefox(executable_path=str( (pathlib.Path(__file__).parent / "../bin/geckodriver").resolve() ), firefox_options=webdriver_options)
Thisможно исправить, просто установив GTK3. Есть ли способ установить пакеты с apt-get
в приложении функций Azure без Docker?