我正在尝试打一个使用puppeteer的API,它基本上有一个功能,让我不和谐的用户,不是很精通puppeteer所以介意我缺乏解释,做了一些研究,并找到了一些解决方案,作为手动安装 chrome ,这样做了,运行puppeteer运行 chrome 与无头仍然没有运气,它提示我与命令'/usr/bin/chromium-browser'需要安装 chrome 管理单元,我使用WSL运行此程序,但WSL似乎并不真正支持此程序,
const browser = await puppeteer.launch({
//only for testing
headless: true,
// for testing at - ibad
executablePath: '/usr/bin/chromium-browser',
args: [
'--no-sandbox',
'--start-maximized'
],
ignoreHTTPSErrors: true
});
这是puppeteer的启动代码,我在API响应中得到的消息:
“留言”:“启动浏览器进程失败!\n\n命令'/usr/bin/chromium-browser'要求安装chromium snap。\n请使用以下命令安装chromium snap:\n\nsnap install chromium\n\n\n故障排除:https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md\n",,
任何帮助都将不胜感激,新来的这个 puppet 戏的东西谢谢!
2条答案
按热度按时间fafcakar1#
WSL现在支持Systemd(以及Snap),有关如何启用的信息,请参见this Community Wiki answer或我最初的answer on Ask Ubuntu。
基于最近的WSL更改,特别是对于Ubuntu上的Chromium,您有几个选项:
我在Ubuntu with Selenium上使用chromedriver和Google Chrome时没有遇到任何问题。自从我使用Puppeteer(WSLg之前)以来已经有两年了,但是我在WSL 2上也能做到。
如果你想使用非Google Chrome浏览器,那么Brave和Vivaldi(可能还有其他浏览器)是候选者,根据之前的研究,IIRC都提供了webdriver。
dxxyhpgq2#
如果使用选项2(上面),它可以通过将
executablePath
属性设置为google-chrome
在WSL2上工作。您必须安装完整的Google Chrome: