WedX - журнал о программировании и компьютерных науках

OpenQA.Selenium.WebDriverException: неизвестная ошибка: не удалось запустить Chrome: аварийный выход при выполнении тестов через запуск Selenium в Linux

Я создал приложение, которое использует Selenium, используя .NetCore для использования его в Linux, на самом деле это моя реализация кода:

public class Program 
{
    public static async Task Main(string[] args)
    {
        //Settings for chrome
        var chromeOpts = new ChromeOptions();
        chromeOpts.AddArgument("headless");
        chromeOpts.AddArgument("no-sandbox");

        //Get assembly path where chrome driver is located
        string codeBase = Assembly.GetExecutingAssembly().CodeBase;
        UriBuilder uri = new UriBuilder(codeBase);
        string path = Uri.UnescapeDataString(uri.Path);
        path = Path.GetDirectoryName(path);

        var driver = new ChromeDriver(path, chromeOpts, TimeSpan.FromSeconds(180));
    }
}

как видите, я использую в качестве драйвера Chrome, я загрузил его здесь, я также добавил драйвер в папку сборки, таким образом ChromeDriver уже знает, где его искать.

В Linux я изменил права доступа к папке с помощью chmod -R 777, но когда я запускаю свое приложение Dotnet, я получаю следующее:

введите здесь описание изображения

Похоже, что Selenium не может запустить приложение. Глядя на исключение, я получаю:

Не удается найти двоичный файл Chrome

К сожалению, ничего подобного в сети не нашла, кто-нибудь может мне помочь?

Заранее спасибо.

ОБНОВЛЕНИЕ

Я просто переустановил Chrome на свой Linux-компьютер, и теперь ошибка, указанная выше, исчезла, но теперь есть другая проблема, на самом деле я получаю эту ошибку:

OpenQA.Selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally  (Driver info: chromedriver=2.9.248304,platform=Linux 4.4.0-130-generic x86_64)   
  at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)   
  at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)   
  at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)   
  at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)   
  at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeDriverService service, ChromeOptions options, TimeSpan commandTimeout)   
  at OpenQA.Selenium.Chrome.ChromeDriver..ctor(String chromeDriverDirectory, ChromeOptions options, TimeSpan commandTimeout)\   at ODS.Program.Main(String[] args)

  • Обновите вопрос с помощью журналов трассировки ошибок на основе текста 07.08.2018
  • @DebanjanB Я добавил это 07.08.2018

Ответы:


1

Это сообщение об ошибке ...

OpenQA.Selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally

... означает, что ChromeDriver не смог инициировать / создать новый сеанс WebBrowser, т. е. браузера Chrome.

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

  • Вы используете chromedriver = 2.9, что довольно давно.

Таким образом, между версией ChromeDriver (v2.33) и последней версией браузера Chrome (vVersion 68.0 )

Решение

  • Обновите ChromeDriver до текущей ChromeDriver v2.41. уровень.
  • Держите версию Chrome между уровнями Chrome v67–69. (в соответствии с примечаниями к выпуску ChromeDriver v2.41)
  • Очистите свою рабочую область проекта с помощью IDE и перестройте свой проект только с обязательными зависимостями.
  • Если ваша базовая версия веб-клиента слишком старая, удалите ее с помощью Revo Uninstaller и установите последнюю версию GA и выпущенную версию веб-клиента.
  • Выполните свой @Test.

использованная литература

Вы можете найти пару соответствующих обсуждений в:

07.08.2018
  • Не могу поверить, что это сработало, и я ошибался здесь: chromedriver.storage.googleapis. com / index.html фактически я скачал версию 2.9 (я думаю, что версия с наибольшим номером - это последняя версия). В любом случае, на сайте, который вы связали со мной, последнее - 2.41, так что это действительно странно. Что Вы думаете об этом? В любом случае, спасибо за это решение, вы мне очень помогли, хорошего дня! 07.08.2018
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    © 2024 wedx.ru, WedX - журнал о программировании и компьютерных науках
    Для любых предложений по сайту: [email protected]