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

Azure弹性消耗计划中Azure Function出现Playwright驱动未找到错误

解决Azure弹性消耗计划中Playwright驱动找不到的问题

错误原因

Azure弹性消耗计划的Linux运行环境下,Playwright的node驱动文件未正确安装或程序无法识别其路径,导致启动时抛出Driver not found异常。

解决方案

1. 在Azure DevOps Pipeline中配置Playwright依赖安装

在构建阶段添加以下步骤,确保浏览器及驱动被打包到部署文件中:

# 安装Playwright CLI工具
dotnet tool install --global Microsoft.Playwright.CLI
# 安装Chromium浏览器及对应驱动
playwright install chromium
# 将驱动目录复制到构建产物目录,确保部署时包含
cp -r ~/.playwright ./$(Build.ArtifactStagingDirectory)/.playwright

若使用YAML管道,可配置为:

- task: DotNetCoreCLI@2
  inputs:
    command: 'custom'
    custom: 'tool'
    arguments: 'install --global Microsoft.Playwright.CLI'
- script: |
    playwright install chromium
    cp -r ~/.playwright ./$(Build.ArtifactStagingDirectory)/.playwright
  displayName: 'Install Playwright Chromium and copy driver files'

2. 配置Function应用环境变量

登录Azure门户,进入你的Function应用,在配置 > 应用程序设置中添加:

  • 名称:PLAYWRIGHT_BROWSERS_PATH
  • 值:./.playwright
    该变量会引导Playwright从网站根目录加载驱动和浏览器文件。

3. 修正startup.sh脚本(若使用)

确保脚本安装浏览器所需系统依赖并配置路径:

#!/bin/bash
# 安装Chromium依赖的系统库
apt-get update && apt-get install -y libnss3 libatk-bridge2.0-0 libdrm-dev libxkbcommon-dev libgbm-dev libasound-dev libatspi2.0-0 libxshmfence-dev
# 设置Playwright路径变量
export PLAYWRIGHT_BROWSERS_PATH=./.playwright

在Program.cs中执行脚本时,确保工作目录正确:

var startupProcess = new Process
{
    StartInfo = new ProcessStartInfo
    {
        FileName = "/bin/bash",
        Arguments = "./startup.sh",
        UseShellExecute = false,
        RedirectStandardOutput = true,
        WorkingDirectory = Environment.CurrentDirectory
    }
};
startupProcess.Start();
startupProcess.WaitForExit();

4. 代码调整(可选)

在启动Playwright前,显式设置环境变量确保路径生效:

Environment.SetEnvironmentVariable("PLAYWRIGHT_BROWSERS_PATH", "./.playwright");

using var playwright = await Playwright.CreateAsync();

await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions
{
    Headless = true,
    Args =
    [
        "--no-sandbox", "--disable-gpu", "--disable-setuid-sandbox", "--disable-dev-shm-usage"
    ]
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 09:02:03