如何在ChromeDriver中禁用内置PDF查看器并实现PDF自动下载
ChromeDriver实现PDF链接点击自动下载(无弹窗)
针对你使用ChromeDriver 114.0.5735.90时,点击PDF链接仍弹出下载提示的问题,调整以下配置即可解决:
关键配置调整
你的现有配置缺少MIME类型指定和部分核心下载偏好,补充并修改后的完整配置如下:
$chromeOption->addArguments([ "--disable-gpu", "--disable-extensions", // 禁用扩展避免干扰下载流程 "--disable-popup-blocking" // 确保下载相关弹窗不受拦截 ]); $prefs = [ "download.default_directory" => "你的绝对下载路径", // 必须填绝对路径,Windows用双反斜杠或正斜杠 "download.prompt_for_download" => false, "download.directory_upgrade" => true, "browser.download.folderList" => 2, // 2代表使用自定义下载目录 "browser.download.manager.showWhenStarting" => false, // 隐藏下载启动时的提示弹窗 "browser.helperApps.neverAsk.saveToDisk" => "application/pdf,application/x-pdf", // 明确指定PDF的MIME类型 "download.always_open_pdf_externally" => true, "plugins.always_open_pdf_externally" => true, "plugins.plugins_disabled" => ["Chrome PDF Viewer", "Chrome PDF Plugin"] // 覆盖所有PDF相关插件禁用 ]; // 务必将偏好设置绑定到ChromeOptions $chromeOption->setExperimentalOption('prefs', $prefs);
注意事项
- 路径格式:Windows系统路径需写成
C:\\Downloads或C:/Downloads,Linux/macOS用/home/user/Downloads这类标准绝对路径。 - MIME类型扩展:如果仍有异常,可补充
application/vnd.pdf等其他PDF相关MIME类型。 - 插件名称兼容:不同Chrome版本的PDF插件名称可能略有差异,同时禁用两个插件可覆盖多数场景。
内容的提问来源于stack exchange,提问作者Udhav Sarvaiya
相关产品推荐
相关产品推荐

