n8n×Docker×Playwright:小红书自动上传避坑指南 - 知识铺
接上上篇,之前不是用n8n可以自动生成小红书笔记了,那如果可以自动上传笔记,岂不是乐哉
于是开始研究自动上传小红书笔记,开始找有没有可用的Playwright的MCP
先来简单介绍一下Playwright
Playwright
这是 Microsoft 出品的一款跨浏览器自动化测试库,它可以自主操作浏览器。
跨浏览器: Playwright 支持所有现代渲染引擎,包括:Chromium、WebKit 和 Firefox。
跨平台: 适用于 Windows、Linux、macOS、本地运行、 CI、headless 和 headed。
跨语言: 在 TypeScript, JavaScript, Python, .NET, Java 中使用 Playwright API
后来发现有想关的MCP,得试一下
想试用的可以用下面的方式配置一下:
安装
<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/mmbiz_svg/kiaXicXJs2M4dKWOu9ZDkkTib0g5FCANUhMuct3CMCGiajBsjXCKeMmwKib6MeQu2ATL2ib0CyfYUBgS3ggzD4my01yic8hiaXzOP12N/640?wx_fmt=svg&from=appmsg" data-fail="0"></span><code><span leaf="">npm install -g @executeautomation/playwright-mcp-server</span><span leaf=""><br></span></code>
配置
<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/mmbiz_svg/kiaXicXJs2M4dKWOu9ZDkkTib0g5FCANUhMuct3CMCGiajBsjXCKeMmwKib6MeQu2ATL2ib0CyfYUBgS3ggzD4my01yic8hiaXzOP12N/640?wx_fmt=svg&from=appmsg" data-fail="0"></span><code><span leaf="">{</span><br><span leaf=""> </span><span><span leaf="">"mcpServers"</span></span><span leaf="">: {</span><br><span leaf=""> </span><span><span leaf="">"playwright"</span></span><span leaf="">: {</span><br><span leaf=""> </span><span><span leaf="">"command"</span></span><span leaf="">: </span><span><span leaf="">"npx"</span></span><span leaf="">,</span><br><span leaf=""> </span><span><span leaf="">"args"</span></span><span leaf="">: [</span><span><span leaf="">"-y"</span></span><span leaf="">, </span><span><span leaf="">"@executeautomation/playwright-mcp-server"</span></span><span leaf="">]</span><br><span leaf=""> }</span><br><span leaf=""> }</span><br><span leaf="">}</span><span leaf=""><br></span></code>
我下面主要想说的是在用playwright mcp的过程中踩的坑,那真是一步一个坑
MCP自身问题
有些MCP不太稳定,比如像下图这个playwright mcp
我是直接拿来就去n8n里面去用了,导致各种问题,直到我看了评论区,发现很多人都有问题,我就放弃了这个MCP
换成了Playwright MCP Server,然后拿着这个MCP先到Trae环境里面去试了一下,保证这个MCP是确实可用的。
在Trae环境里面配置了一下,工具都可以罗列出来,说明连接成功
然后chat模式调用了一下,确实可以,说明MCP是ok的。
经验教训:所以先找到一个经过验证可靠的MCP,比如可以在Trae或者Codebuddy等可以调用MCP的环境中调试一下是否可用,然后再拿去n8n里面调用,排除MCP自己的问题。
AI幻觉问题
一般遇到问题的时候我都会截图发给AI,让AI帮我解决问题,但是随着次数的增多,发现还是不能重度依赖AI,不然会被坑的很惨。
比如下面,我把出错的截图发给AI让它帮忙分析,然后它说里面有 404 not found的错误,但是我的截图里面根本没有这个信息,后来它就承认了,确实没有404 not found的信息。
幸亏发现了,不然我就跟着它的思路往下走了。
它会杜撰一些不存在的信息,不要过分依赖它。
经验教训:可以同时把问题发给两个AI 大模型,对比下结果
不差钱的换个厉害的大模型
环境问题
我明明用命令安装了 playwright 和浏览器 ,但是会报错Executable doesn’t exist
这个是我忽略的一个点,我的环境是,ubuntu系统上部署了Docker,Docker上运行的n8n
但是我安装的位置是宿主机上(ubuntu),然后我将我的环境描述了一下问AI,下面是AI的回答
结论:要让 n8n(运行在 Docker 容器里)调用 MCP Playwright,你需要在“同一个容器环境里”把 Playwright 的浏览器和依赖装好。你在宿主机(Docker 外部)安装的 Playwright 与浏览器二进制不会自动被容器复用,所以依然会报 Executable doesn’t exist。除非你做额外的卷挂载和依赖安装,否则宿主机上的安装对容器内运行没有帮助。
所以我的安装位置是不对的,需要重新安装
版本问题:
当重新安装到了容器内之后,又出现了另外的错误
报错信息:
<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/mmbiz_svg/kiaXicXJs2M4dKWOu9ZDkkTib0g5FCANUhMuct3CMCGiajBsjXCKeMmwKib6MeQu2ATL2ib0CyfYUBgS3ggzD4my01yic8hiaXzOP12N/640?wx_fmt=svg&from=appmsg" data-fail="0"></span><code><span leaf="">Failed to initialize browser:browserType:launch Executable doesn</span><span><span leaf="">'t exsit at /home/node/.cache/ms-playwright/chromium-1179/chrome-linux/chrome</span><span leaf=""><br></span></span></code>
执行的时候它会自动去找chromium-1179,但是我安装的是chromium-1140
playwright的版本和chromium内核的版本有个映射关系
但我在网上没有找到playwright版本和chromium内核版本的对应信息,所以只能挨个尝试
所幸最后终于试出了chromium-1179
o(╥﹏╥)oo(╥﹏╥)oo(╥﹏╥)o
playwright@1.48.0 → chromium-1140
chromium-1155
chromium-1169
chromium-1178
chromium-1179
系统依赖问题:
解决完上面的问题之后,重新开始运行,没想到又报错了
根本原因:容器缺少 Chromium 运行所需的系统依赖(glib/atk/gtk/pango/x11/gbm 等)
大模型给了三个解决方案A,B,C,我尝试了解决了一下,又报了其他错,至此已经把我的耐心消磨殆尽了
最后
整个过程有点像升级打怪,赢一关很爽,卡一关心态爆炸。
玩n8n很上头但也很崩溃 o(╥﹏╥)o
我的经验是:别迷信单一大模型、在容器里装依赖、先验证 MCP 再接 n8n
你用的是 Mac/Win/Linux?是顺滑还是“崩溃边缘”?欢迎评论区交流
觉得有用,那就给个一键三连吧,点赞,关注,转发!
#n8n合集
ChatGPT都能叫滴滴了?逆天MCP让AI出行时代提前到来
n8n进阶实战:AI新闻机器人升级版,邮箱推送+飞书表格双重自动化
n8n保姆级教程:10分钟打造智能新闻推送机器人(进阶实战)
#AI Agent #Agent #AI #工作流 #n8n #智能体#
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/ai/post/202510/n8nDockerPlaywright%E5%B0%8F%E7%BA%A2%E4%B9%A6%E8%87%AA%E5%8A%A8%E4%B8%8A%E4%BC%A0%E9%81%BF%E5%9D%91%E6%8C%87%E5%8D%97/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com