这个问题不是重复的 在 Windows 7 64 位上使用硒铬驱动程序时出错,因为我已经尝试了那里提到的所有解决方案。
在目录envlibsite-packagesseleniumwebdrivercommonservice.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
这会阻止启动chrome驱动程序服务。
所以我将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,但ChromeDriver 2.43(https://chromedriver.storage.googleapis.com/2.43/chromedriver_win32.zip(,但错误仍然存在。
这个有什么线索吗?
好的,所以需要将chromedriver.exe
放在..envScripts
文件夹中才能正常工作 - 在此处指定任何系统路径条目都不起作用。
当我在这里放置任何东西时,我可以直接通过进程名称访问它。但是我不能在系统环境变量中使用列出的路径(或者也许我可以但不知道如何:((。