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

设置headless=False无效时,如何开启Playwright的有头模式?

问题背景

我正尝试在Python中启动Playwright的有头模式。尽管设置了headless=False,我仍然无法启动浏览器。

现有代码
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
        browser = p.chromium.launch(headless=False, slow_mo=100)
        page = browser.new_page()
        page.goto("https://www.google.com/")
输出结果
[Done] exited with code=0 in 0.686 seconds
已尝试的调试方法
  • 在终端执行$env:HEADED=1
  • 在终端执行$env:PWDEBUG=1
  • 用firefox和webkit替代chromium
  • 改用Pycharm而非Microsoft Visual Studio Code
解决方案
  1. 阻止浏览器自动关闭:当前代码执行完page.goto后,with块会立即结束,Playwright会自动销毁浏览器实例,导致你看不到窗口。可以在代码末尾添加阻塞逻辑,让浏览器保持打开:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
        browser = p.chromium.launch(headless=False, slow_mo=100)
        page = browser.new_page()
        page.goto("https://www.google.com/")
        input("按回车键关闭浏览器...")  # 新增该行,阻止进程结束
        browser.close()
  1. 重新安装对应浏览器:执行playwright install chromium命令,确保Playwright绑定的Chromium版本完整安装,避免因浏览器文件缺失或损坏导致有头模式无法启动。

  2. 手动指定浏览器路径:如果系统默认的Chromium环境有问题,可以直接指定本地已安装的Chrome/Edge可执行文件路径:

browser = p.chromium.launch(
    headless=False,
    slow_mo=100,
    executable_path="C:/Program Files/Google/Chrome/Application/chrome.exe"  # Windows示例路径,根据实际情况修改
)
  1. 开启日志排查错误:启动浏览器时添加日志输出,查看是否有隐藏的启动失败信息:
browser = p.chromium.launch(
    headless=False,
    slow_mo=100,
    verbose=True,
    logger=lambda *args: print(args)
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 12:06:29