如何让Python webbrowser模块打开的浏览器在脚本结束后保持运行?
解决Python webbrowser模块打开网页后脚本结束浏览器关闭的问题
你遇到的情况是:脚本正常运行时没打开网页,加无限循环能打开但中断脚本浏览器就关了。这两个问题可以这样解决:
1. 先搞定脚本正常运行时无法打开网页的问题
webbrowser.open()返回True只是表示尝试执行成功,没打开网页大概率是这两个原因:
- URL没正确赋值:先把
url换成固定的有效地址(比如url = "https://www.example.com"),排除自动获取逻辑的问题。 - 默认浏览器配置有问题:试试用明确的打开新窗口/标签页的方法:
import webbrowser url = "https://www.example.com" # 用open_new打开新窗口,或者open_new_tab打开新标签 print(webbrowser.open_new(url)) print("script done")
2. 让浏览器在脚本结束后保持打开
正常情况下,webbrowser启动的浏览器是独立进程,脚本结束后不会自动关闭。如果你的环境里浏览器依赖脚本进程存活,直接指定浏览器的执行路径启动就行:
import webbrowser url = "https://www.example.com" # 换成你电脑里Chrome的实际安装路径 chrome_path = "C:/Program Files/Google/Chrome/Application/chrome.exe %s" # 获取浏览器控制器并打开网页 webbrowser.get(chrome_path).open(url) print("script done")
Firefox的话就换成对应的路径:
firefox_path = "C:/Program Files/Mozilla Firefox/firefox.exe %s" webbrowser.get(firefox_path).open(url)
这样启动的浏览器是完全独立的,脚本跑完后浏览器会一直保持打开状态。
内容的提问来源于stack exchange,提问作者Dylan Holmes
相关产品推荐
相关产品推荐

