【问题标题】:launching chrome in playwright gets closed在剧作家中启动 chrome 被关闭
【发布时间】:2021-12-17 02:38:13
【问题描述】:

我正在尝试从木偶师过渡到剧作家。所以我做了一个简单的示例程序来进行实验。这是我的代码。

import {Browser, chromium} from 'playwright-core'

class Factory {
    static async run() {
        const launchOptions = {
            defaultViewport: null,
            ignoreDefaultArgs: true,
            headless: true,
            executablePath: `/usr/bin/chromium-browser`,
        }
        console.log(`starting`)
        const browser: Browser =  await chromium.launch(launchOptions)
        console.log(`browser: ${browser}`)
        const context = await browser.newContext();
        console.log(`context: ${context}`)
        const page = await context.newPage();
        console.log(`page: ${page}`)
        await page.goto('https://example.com');
    }
}

Factory.run()

当我运行此代码时,chormium 启动,但从未超出 starting 日志。然后,过了一会儿,浏览器停止并得到这个日志:

starting
/home/alejo/git/node_test/index.ts:12
        const browser: Browser =  await chromium.launch(launchOptions)
                                                 ^
browserType.launch: Browser closed.
==================== Browser output: ====================
<launching> /usr/bin/chromium-browser 
<launched> pid=199346
=========================== logs ===========================
<launching> /usr/bin/chromium-browser 
<launched> pid=199346
============================================================
    at Function.run (/home/alejo/git/node_test/index.ts:12:50)
    at Object.<anonymous> (/home/alejo/git/node_test/index.ts:22:9)
    at Module.m._compile (/home/alejo/git/node_test/node_modules/ts-node/src/index.ts:1371:23)
    at Object.require.extensions.<computed> [as .ts] (/home/alejo/git/node_test/node_modules/ts-node/src/index.ts:1374:12)
    at main (/home/alejo/git/node_test/node_modules/ts-node/src/bin.ts:331:12)
    at Object.<anonymous> (/home/alejo/git/node_test/node_modules/ts-node/src/bin.ts:482:3) {
  name: 'Error'
}

Process finished with exit code 1

尝试使用 google chrome 时也会发生同样的情况。

有时我会收到超时错误,但结果相同。

starting
/home/alejo/git/node_test/index.ts:12
        const browser: Browser =  await chromium.launch(launchOptions)
                                                 ^
browserType.launch: Timeout 30000ms exceeded.
=========================== logs ===========================
<launching> /usr/bin/chromium-browser 
<launched> pid=201225

我正在使用这个环境:

node: v16.6.2
playwright-core: ^1.16.3
chromium-browser: 95.0.4638.69
google-chrome: 95.0.4638.69

任何帮助都会很有价值

【问题讨论】:

    标签: typescript google-chrome puppeteer chromium playwright


    【解决方案1】:

    嗯,经过一番苦恼,我找到了解决办法……

    我必须将此选项添加到启动中

    const launchOptions = {
            "headless": false,
            "executablePath": "/usr/bin/google-chrome",
            "args": [
            "--no-sandbox",
            "--no-zygote"]
        }
    

    【讨论】:

      猜你喜欢
      • 2021-12-14
      • 2022-01-01
      • 2021-09-02
      • 2021-06-28
      • 2022-08-04
      • 2021-12-01
      • 2022-06-22
      • 2021-02-19
      • 2021-08-02
      相关资源
      最近更新 更多