Не запускается код после миграции на Ubuntu
Написал код для автоматической аутентификации на сайте и дальнейшего парсинга. При запуске в VS Code, все работает без ошибок. Было решено перенести код и все его зависимости на VDS под управлением Ubuntu 22.04.2 LTS. После развертывания ОС сразу обновил все пакеты и установил все необходимое в виртуальную среду. Из необходимого: Selenium, BS4, ChromeDriver, webdriver-manager.
Вот сам код:
from selenium import webdriver
import time
from selenium.webdriver.chrome.options import Options
# LOGIN & PASSWORD
username = "тут логин"
password = "тут пароль"
chrome_options = Options()
chrome_options.add_experimental_option("detach", True)
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
driver = webdriver.Chrome(chrome_options=chrome_options)
# ПЕРЕХОД НА ФОРМУ ЛОГИНА
driver.get("ссылка на форму авторизации")
time.sleep(2)
Вот ошибка после запуска кода через python3:
(encore) user@server:/home/stats$ python3 verymain.py
/home/stats/verymain.py:21: DeprecationWarning: use options instead of chrome_options
driver = webdriver.Chrome(chrome_options=chrome_options)
Traceback (most recent call last):
File "/home/stats/verymain.py", line 21, in <module>
driver = webdriver.Chrome(chrome_options=chrome_options)
File "/home/stats/encore/lib/python3.10/site-packages/selenium/webdriver/chrome/webdriver.py", line 84, in __init__
super().__init__(
File "/home/stats/encore/lib/python3.10/site-packages/selenium/webdriver/chromium/webdriver.py", line 104, in __init__
super().__init__(
File "/home/stats/encore/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 286, in __init__
self.start_session(capabilities, browser_profile)
File "/home/stats/encore/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 378, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/home/stats/encore/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 440, in execute
self.error_handler.check_response(response)
File "/home/stats/encore/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 245, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x55dc758774e3 <unknown>
#1 0x55dc755a6c76 <unknown>
#2 0x55dc755cfd78 <unknown>
#3 0x55dc755cc029 <unknown>
#4 0x55dc7560accc <unknown>
#5 0x55dc7560a47f <unknown>
#6 0x55dc75601de3 <unknown>
#7 0x55dc755d72dd <unknown>
#8 0x55dc755d834e <unknown>
#9 0x55dc758373e4 <unknown>
#10 0x55dc7583b3d7 <unknown>
#11 0x55dc75845b20 <unknown>
#12 0x55dc7583c023 <unknown>
#13 0x55dc7580a1aa <unknown>
#14 0x55dc758606b8 <unknown>
#15 0x55dc75860847 <unknown>
#16 0x55dc75870243 <unknown>
#17 0x7f4df4167b43 <unknown>
Поиск в интернете ничего не дал. Версии ChromeDriver и Google Chrome одинаковы, все необходимые зависимости установлены. Пробовал указывать путь до ChromeDriver вручную, но получаю уже другую ошибку. Менял Chrome на Firefox - не помогло: выдает ошибку, связанную с невозможностью запуска браузера, хотя тэг --headless и --no-sandbox прописаны.
Однако, если на этой же ОС запустить этот же код, но через VS Code, то все работает без ошибок.
Прошу помочь!