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

如何避免Windows下调用webbrowser.open夺取输入焦点?

在Windows后台打开浏览器标签页(避免焦点被夺取)

默认的webbrowser.open确实会强制将焦点转移到新打开的浏览器标签页,要实现后台打开,可以绕过该模块,直接调用浏览器的命令行参数来控制:

直接调用浏览器命令行(推荐方案)

不同浏览器有各自的命令行参数支持后台打开,用subprocess模块执行对应命令即可:

Chrome/Edge

Chrome和Edge基于Chromium内核,参数通用:

import subprocess

# Chrome 示例(路径根据实际安装位置调整)
subprocess.Popen(
    [r"C:\Program Files\Google\Chrome\Application\chrome.exe", 
     "--new-tab", "--no-focus-last-window", 
     "https://example.com"]
)

# Edge 示例
subprocess.Popen(
    [r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe", 
     "--new-tab", "--no-focus-last-window", 
     "https://example.com"]
)

--no-focus-last-window参数会让新标签页在后台加载,不会夺取当前窗口的焦点。

Firefox

Firefox使用--background参数配合新标签命令:

import subprocess

subprocess.Popen(
    [r"C:\Program Files\Mozilla Firefox\firefox.exe", 
     "-new-tab", "--background", 
     "https://example.com"]
)

注意事项

  • 浏览器路径需与实际安装位置匹配,可通过cmd执行where chrome/where msedge/where firefox获取准确路径。
  • 旧版本浏览器可能不支持上述参数,建议使用最新版。
  • 如果是便携版浏览器,直接替换为对应可执行文件的路径即可。

内容的提问来源于stack exchange,提问作者serv-inc

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 15:17:36