Указанный исполняемый файл не является допустимым приложением для этой платформы ОС.Selenium.ChromeDriver, StartWithCreateProcess (ProcessStartInfo startInfo) - PullRequest
1 голос
/ 12 мая 2019

Моя ОС в Windows 10. Я пытаюсь запустить проект Selenium, который работал нормально около 3 лет назад, однако я запускаю сообщение об неожиданной ошибке

The specified executable is not a valid application for this OS platform.

Шаги Iдо сих пор: перезапустил VS2015 как администратор и получил ту же ошибку, а затем проверил, есть ли chromedriver.exe в каталоге проекта.Обновлены пакеты Nuget Selenium.WebDriver.ChromeDriver to 74.0.3729.6, Selenium.WebDriver to 3.141 и Selenium.Support to 3.141 напрасно.

Попытка запустить его из базового консольного приложения

static void Main(string[] args)
    {
        using (var crawler = new Crawler())
        {
            crawler.Navigate("https://www.google.com");
        }
    }

та же ошибка.

После некоторых исследований я обнаружил , что из-за некоторых изменений в ядре .Net мне нужно запускать процессы по-другому.

Тем не менее, я не контролирую запуск .exe напрямую, это выполняется внутри ChromeDriver OpenQA.Selenium.Chrome.ChromeDriver..ctor(String chromeDriverDirectory, ChromeOptions options), и только переданные параметры являются параметрами запуска каталога и chrome ...

Ниже приведенотрассировка стека, где возникла ошибка,

at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at OpenQA.Selenium.DriverService.Start()
at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute)
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(String chromeDriverDirectory, ChromeOptions options)
at WebAnalyzer.Controllers.HomeController.About() 

Я уверен, что кому-то уже удалось запустить Selenium с новыми изменениями.

Как запустить Selenium ChromeDriver, чтобы он неперерыв при создании процесса в StartWithCreateProcess?

1 Ответ

0 голосов
/ 12 мая 2019

Проблема заключалась в пакете NuGet, который я использовал для получения chromedriver.exe с

Тот, который не работал, был

enter image description here

после замены на следующий хром уволили

enter image description here

и все снова заработало.

...