实例化PaperScraper触发WinError 193非有效Win32应用报错
PaperScraper 初始化报 WinError 193 修复方案
OSError: [WinError 193] %1 is not a valid Win32 application在ChromeDriver启动场景下,本质是Windows无法正常执行目标路径下的ChromeDriver可执行文件,按以下顺序排查修复:
- 校验驱动版本、架构匹配性
首先确认本地Chrome浏览器版本:打开Chrome访问chrome://settings/help,记录完整版本号、以及当前安装的Chrome架构(32位/64位)。
替换ChromeDriver时必须满足两个匹配要求:- ChromeDriver大版本与本地Chrome大版本完全一致,跨大版本的驱动无法兼容
- 驱动架构与本地Python环境架构匹配:如果安装的是32位Python,即便系统是64位,也必须使用32位win32版本ChromeDriver;64位Python对应64位win64版本驱动。
注意不要直接替换仓库安装包内的文件,先在实例化代码前加print(webdriver_path)打印代码实际读取的驱动路径,清空该路径下的旧驱动文件后,再放入解压完成的chromedriver.exe,不要直接放入未解压的压缩包、或者Linux/Mac系统版本的驱动文件,这类文件都会触发193错误。
- 校验驱动文件可用性
替换完成后直接双击对应路径下的chromedriver.exe,如果能正常弹出命令行窗口显示ChromeDriver was started successfully,说明文件本身合法;如果双击就提示不是有效的Win32程序,说明文件损坏或版本下错,重新获取对应版本文件即可。
右键点击chromedriver.exe打开属性面板,如果底部安全提示区有「解除锁定」按钮,点击解锁后保存设置,避免Windows拦截未受信任的可执行文件运行。 - 绕过默认配置手动指定驱动路径
替换驱动后如果默认配置仍指向旧的错误路径,可以在实例化时手动传入驱动绝对路径,跳过默认路径读取逻辑,示例代码:from paperscraper import PaperScraper from selenium import webdriver # 替换为本地chromedriver.exe的实际绝对路径 custom_driver_path = r"D:\devtools\chromedriver\chromedriver.exe" chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--headless=new") # 可选,无头模式不弹出浏览器窗口 scraper = PaperScraper(webdriver_path=custom_driver_path, driver_options=chrome_options) - 校验Selenium版本兼容性
PaperScraper部分旧版本对Selenium 4.6以上版本适配不佳,高版本Selenium内置的自动驱动管理逻辑会和手动传参逻辑冲突。如果以上步骤都无效,先重装适配版本的Selenium:
安装完成后重启VS Code的Python终端,再重新执行实例化代码即可。pip uninstall -y selenium pip install selenium==4.4.3
内容的提问来源于stack exchange,提问作者NAD63
相关产品推荐
相关产品推荐

