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

Python脚本无法打开新Chrome标签且无报错的问题求助

问题修复方案

1. 修正Chrome注册逻辑

你的Chrome路径格式错误,%s不该写在可执行路径里,正确的注册方式应把路径和参数分离,或直接用webbrowser.Chrome类:

import webbrowser
import os

# 正确注册Chrome
chrome_path = r"C:\Program Files\Google\Chrome\Application\chrome.exe"
webbrowser.register('chrome', None, webbrowser.Chrome(chrome_path))

2. 解决about:blank打不开的问题

Windows默认把about:协议绑定到非Chrome程序,直接调用open_new_tab会触发系统错误。可以先启动Chrome实例再打开页面,或用subprocess直接调用Chrome命令行(更可控):

用webbrowser修复后的代码:

# 获取注册的Chrome实例
browser = webbrowser.get('chrome')

# 先打开Google确保Chrome启动
browser.open_new_tab('https://www.google.com')
# 打开about:blank新标签
browser.open_new_tab('about:blank')
# 测试打开Python官网
browser.open_new_tab('https://python.org')

用subprocess替代webbrowser(推荐,彻底规避协议关联问题):

import subprocess

chrome_path = r"C:\Program Files\Google\Chrome\Application\chrome.exe"
# 一次性打开多个标签,--new-tab参数指定新标签
subprocess.Popen([chrome_path, 'https://www.google.com', '--new-tab', 'about:blank', '--new-tab', 'https://python.org'])

3. JavaScript执行的问题

webbrowser.open("javascript:...")完全不可行,它只是尝试打开一个新的协议链接,不会在已有标签执行脚本。要操作DOM的话,直接用Anaconda自带的selenium库:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
import os

chrome_path = r"C:\Program Files\Google\Chrome\Application\chrome.exe"
service = Service(chrome_path)
driver = webdriver.Chrome(service=service)

# 打开about:blank
driver.get('about:blank')

# 执行JS设置背景图,注意路径转义
image_path = f"file:///{os.getcwd().replace('\\', '/')}/image.jpg"
driver.execute_script(f"document.body.style.backgroundImage = 'url(\"{image_path}\")';")

# 打开新标签
driver.execute_script("window.open('https://python.org');")

额外检查点

  • 确认Chrome路径正确,32位系统路径为C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
  • 避免虚拟环境的webbrowser模块冲突,直接使用Anaconda自带的标准库版本
  • 若仍无法启动,尝试以管理员权限运行脚本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:25:10