Pycharm-selenium-python: не удалось запустить службу chromedriver - [winerror 193]% 1 не является допустимым приложением win32

Этот вопрос не дублирует ошибка с использованием selenium chromedriver на Windows 7 64 бит, поскольку я пробовал все упомянутые там решения.

В каталоге env\lib\site-packages\selenium\webdriver\common\service.py, учитывая следующий код в function start

cmd = [self.path]
            cmd.extend(self.command_line_args())
            self.process = subprocess.Popen(cmd, env=self.env,
                                            close_fds=platform.system() != 'Windows',
                                            stdout=self.log_file, stderr=self.log_file)

Значение cmd: <class 'list'>: ['chromedriver', '--port=58808'].

В ../AppData/Local/Programs/Python/Python35/Lib/subprocess.py функция __init__

self._execute_child(args, executable, preexec_fn, close_fds,
                                pass_fds, cwd, env,
                                startupinfo, creationflags, shell,
                                p2cread, p2cwrite,
                                c2pread, c2pwrite,
                                errread, errwrite,
                                restore_signals, start_new_session)

args - единственный аргумент, переданный со значением <class 'list'>: ['chromedriver', '--port=58999']

Но тут возникает исключение: [WinError 193] %1 is not a valid Win32 application.

Это предотвращает запуск службы хромированного драйвера.

Поэтому я заменил args на absolute_path_to_chrome_driver\\chromedriver:

self._execute_child(args, 'absolute_path_to_chrome_driver\\chromedriver', preexec_fn, close_fds,
                                    pass_fds, cwd, env,
                                    startupinfo, creationflags, shell,
                                    p2cread, p2cwrite,
                                    c2pread, c2pwrite,
                                    errread, errwrite,
                                    restore_signals, start_new_session)

Но по-прежнему возникает то же исключение: [WinError 193] %1 is not a valid Win32 application.

Это препятствует запуску хромодрайвера.

Я даже загрузил последнюю версию chromedriver, но ChromeDriver 2.43 (https://chromedriver.storage.googleapis.com/2.43/chromedriver_win32.zip), но ошибка не исчезла.

Есть какие-нибудь подсказки по этому поводу?

0
0
222
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Хорошо, поэтому chromedriver.exe необходимо поместить в папку ..\env\Scripts, чтобы это работало - указание какой-либо записи системного пути здесь не работало.

Когда я помещаю что-либо сюда, я могу получить к нему прямой доступ по имени процесса. Но я не могу использовать указанный путь в переменных системной среды (или, может быть, я могу, но не знаю, как это сделать :().

Другие вопросы по теме