首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在playwright中启动chrome被关闭

在playwright中启动chrome被关闭
EN

Stack Overflow用户
提问于 2021-11-02 15:06:07
回答 1查看 695关注 0票数 0

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

代码语言:javascript
运行
复制
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日志。然后,过了一段时间,浏览器停止并获取以下日志:

代码语言:javascript
运行
复制
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时也会发生同样的情况。

有时我得到一个超时错误,但它是相同的结果。

代码语言:javascript
运行
复制
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

我正在使用这个环境:

代码语言:javascript
运行
复制
node: v16.6.2
playwright-core: ^1.16.3
chromium-browser: 95.0.4638.69
google-chrome: 95.0.4638.69

任何帮助都是有价值的

EN

回答 1

Stack Overflow用户

发布于 2021-11-02 19:08:32

嗯,在经历了很多麻烦之后,我找到了解决方案...

我不得不将这个选项添加到启动中

代码语言:javascript
运行
复制
const launchOptions = {
        "headless": false,
        "executablePath": "/usr/bin/google-chrome",
        "args": [
        "--no-sandbox",
        "--no-zygote"]
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69812605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档