You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Selenium点击Chrome打印预览窗口的取消按钮?

如何点击Chrome打印预览窗口的取消按钮

以下是几种适配新版Chrome的可行解决方案:

方法一:用键盘快捷键触发取消

Chrome打印预览窗口支持通过Esc键快速关闭,直接用Selenium模拟按键即可:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.get("目标页面URL")

# 触发打印(以Ctrl+P为例)
driver.find_element(By.TAG_NAME, "body").send_keys(Keys.CONTROL, "p")
time.sleep(2)  # 等待预览窗口加载完成

# 按下Esc关闭窗口
driver.find_element(By.TAG_NAME, "body").send_keys(Keys.ESCAPE)

方法二:修改Chrome启动参数,跳过打印预览

如果不需要弹出预览窗口,可以通过启动参数直接禁用或自动处理打印流程:

from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
# 配置自动跳过预览,按指定方式处理打印
chrome_options.add_experimental_option("prefs", {
    "printing.print_preview_sticky_settings.appState": '{"recentDestinations":[{"id":"Save as PDF","origin":"local","account":""}],"selectedDestinationId":"Save as PDF","version":2}'
})

driver = webdriver.Chrome(options=chrome_options)
driver.get("目标页面URL")

# 触发打印后会直接跳过预览,按配置自动处理
driver.execute_script("window.print();")

方法三:通过Chrome DevTools命令关闭预览

利用Chrome DevTools的API直接关闭打印预览窗口:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("目标页面URL")

# 触发打印
driver.execute_script("window.print();")
# 调用DevTools命令关闭预览
driver.execute_cdp_cmd("Page.close", {})

注:旧方案报错大多是因为Chrome版本迭代后,打印预览的DOM结构、内部API发生了变化,旧的元素定位方法已失效,上述方法更适配新版Chrome。

内容的提问来源于stack exchange,提问作者Madhukara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 18:46:43