typescript - 在剧作家中启动 chrome 被关闭
问题描述
我正在尝试从木偶师过渡到剧作家。所以我做了一个简单的示例程序来进行实验。这是我的代码。
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
任何帮助都是有价值的
解决方案
好吧,经过很多麻烦后,我找到了解决方案...
我不得不将此选项添加到启动中
const launchOptions = {
"headless": false,
"executablePath": "/usr/bin/google-chrome",
"args": [
"--no-sandbox",
"--no-zygote"]
}
推荐阅读
- r - R - time_length 的问题
- javascript - 如何返回和解析从 Firebase 服务器返回给客户端的文档?
- ubuntu - 无法在 Ubuntu 中设置颤振环境变量
- c++ - 从 6 个补丁重建一个球体
- python - 如何使用 ffmpeg-python 创建 Webm 动画图像
- c++ - 同时写入和读取哈希表
- python - 根据 Pandas DataFrame 列中的值序列查找行的索引
- java - 1 个 JFrame 中有 2 个不同大小的 JPanel
- python-3.x - 在 CentOS 8 上使用 Ansible 安装 Python 的首选方法是什么
- node.js - 如何让我的 Dicord 机器人在 Azure 上工作?