发文自动化第一天卡了三次,三次都卡在我以为不需要确认的地方。
第一处是地址。我按习惯写 /article/write?articleId=2772834,页面能开,正文却是空的。它认的是路径传参,写成 /article/write/2772834 才读得到原文。
第二处是正文。给 textarea 赋值没有反应,因为这个编辑器用的是 Monaco,得先取到 window.monaco.editor.getModels()0,再 setValue。
第三处是配图。一次塞三张进去只成功一张,那个 file input 是单选的。逐张上传再从返回值里取 CDN 地址,最后回填进正文,这条路才走得通。

第四处是启动。不指定浏览器路径会直接失败,它默认去找一个并没有安装的内置 Chromium,得显式指到本机装的那个 Chrome。
第五处是发布按钮。点了没反应,页面也不报错。查下来是因为文章来源那三个选项一个都没选,把「原创」勾上,按钮才活。
第六处是标签。输入框是受控组件,用赋值的方式写进去会被 React 的状态覆盖,累积出一串乱码。它只认从下拉候选里点选的条目。
这六处排完,一条命令能从草稿走到线上。
跑这套脚本的起因是要连着发十篇,每篇都要配图和复核,手动来一轮要二十分钟。
六处坑里有四处是同一个原因:我以为页面会照我想的那样工作,其实没有。
现在的收尾是一条命令跑完,从上传配图一直到最后拿到文章地址。
第一次把这六处全排完花了大半天,现在重跑一遍不到两分钟。
有空的时候我把它们写进了手册,省得下次再从原地踩一遍。
六处排完之后,我把它们写进一个脚本,开口就是一条命令。它做的第一件事是打开写文章页,接着把配图一张张传上去取回地址,之后回填正文、设标题、勾选来源、点选标签,最后确认发布并把文章地址带回来。

图上这一列就是这个流程。中间任何一步失败都会停下来并报出失败的位置,不会半途糊过去。

现在跑一整篇大概两分钟。第一次排完这六处用了大半个上午,这个差值就是写下来的价值。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。