在上周一,咱们不是捣鼓了一下如何利用 RPA 工具充分利用买来的 Midjourney 账号,实现根据已有的 Prompt 表格去自动跑图的功能嘛。
听着很牛,但说白了,就是用自动化工具,模拟咱们的手工操作,即——
1、复制表格文本
2、把文本粘贴到输入框
3、敲下回车键
4、把生成的图片下载到本地并填充至表格
每一步都简简单单,只是开了「自动化」这个外挂后,本来枯燥乏味的操作,就变得轻松了起来,还不知道的小伙伴快去补补课👉我睡觉的时候,电脑画了一夜小姐姐
当然,评论区里也有不少小伙伴现身说法,夸 RPA 工具好用的:
事实就是这样,只要你能找到每一步操作的关联,按照逻辑把表格的处理、网页的交互给组合起来,虽说不上什么「人有多大胆,地有多大产」,但一定会有很多妙用。
尤其是当我看到有小伙伴想要一份写满 Prompt 的表格。
我就在想,咱都用上 RPA 工具了,有没有可能把找 Prompt 这一步也给它自动化呢?授人以鱼不如授人以渔,今天就给大家提供一个自动制作 Prompt 表格的思路。
喏,成品就是下面这个样子:
当然也有真人模型的提示词,咱就不放动图了,毕竟隔两张就需要打码。。。
好奇嘛,好奇的话就接着往下看。
分析操作
既然 RPA 工具都是模拟人的操作,咱自然要先搞明白获取 Prompt 的逻辑,我想了个思路:从 Prompt 分享站上获取高质量的提示词,并配上他人跑出的例图,辅以辨认。
于是我盯上了 C 站,不仅模型丰富:
更关键的是,模型下配套有网友们根据当前模型跑出的例图,并且支持查看 Prompt。
怎么去分析 RPA 工具实现自动化的逻辑呢?最简单的方式,就是你先手动跑一遍,单就 C 站而言,需要我们打开模型页,往下滚动加载网友们分享的例图:
接着,有两种方式获取提示词,一种是点击右下角的详情按钮,在新弹窗中找到一键复制的 Copy 按钮。
还有一种是点进图片,它会跳转到详情页,同样在右侧能找到一键复制的 Copy 按钮。
说实话第一种获取方式看着更合理,但实际测试过程中,我发现右下角详情按钮不好找,在加上我想把图片也搞到本地,所以这里我选择了第二种获取方式。
只要让 RPA 工具反复循环上面这个过程,把获取到的提示词和图片依次放置在表格里,我们找 Prompt 的目标就完美实现了。
至于在 RPA 中具体要怎么操作呢?下面让我一步一步带着你搭建一个 RPA 机器人。
第一步:打开网页
按前面分析的那样,我们在 RPA 工具中先要做的,就是打开 C 站一个模型的网页,在影刀中用到的指令是「打开网页」,选择浏览器,输入模型网址,最后给这个网页起一个一眼就能认出来的名字,方便后续调用。
但因为我不想每次都去更改这步操作,所以我在「打开网页」的指令前,加了一步「打开输入对话框」的指令。
运行后实现的效果是先出现这么一个对话框。
我们只要把模型链接复制粘贴进来,就能在不修改 RPA 的基础上,反复调用这个机器人了。
只不过,在打开网页这一步,我们也要修改,网址那里输入的是,前面从对话框获取的输出结果,咱自己起名的那个。
注意,这里唯一的难点是我们需要点亮 Python 小图标,并在自命名的输出结果后加入[0],原因是当前输出结果并不是一行字符,需要用这种方式把字符提取出来,看不懂没关系,照着做就好了。
在「打开网页」的指令后,我们可以再加一个「等待网页加载完成」的指令,网页对象选的是上一步自命名的保存结果,功能如其名。
到了这一步,当前的 RPA 工具就实现了自动打开网页的功能,下一步要干嘛?是的,该滑动页面,加载网友分享的例图了。
选择「鼠标滚动网页」的指令,可以控制滚动到哪个位置。
实际上 C 站网友分享的例图,都是懒加载的,我这里滚动了可不止一次。
还有就是每个模型下分享的图片可能是成百上千的,C 站本身可以根据时间、评论、点赞等数据排列。
我每个模型只扒拉了最新两屏的内容,大致 200 份的 Prompt,有需要的小伙伴可以模拟鼠标点击,切换排列顺序,进行抓取。
第二步:获取元素
是的,滚动加载完,就该获取包含每一份例图的元素了,这里用到的指令是「获取相似元素列表」。
其他的都好理解,定位方式这里有说头,支持三种:默认,CSS 选择器,Xpath 选择器。
默认就是上一篇和大家介绍的,进入影刀的元素捕获模式,自动识别出当前元素的红框,点击完成捕获。
这种方式相较来说比较通用,但当自带捕获模式不给力时,还是需要自己去分析页面结构的,找结构不难,浏览器自带的 F12,选中当前元素后,就能看到当前的标签了。
分析起来就是,C 站把网友分享的例图,放在了有 ID 属性的 DIV 标签里,前面还有两个方便定位的上级 DIV 标签。
然后用 Xpath 选择器去定位就好了,说实话,我也不会写 Xpath,但我会用 ChatGPT 啊,两分钟就搞定了 Xpath 选择器的表达式:
影刀中完整的指令是这样的:
之所以这一步单独拿出来说,是因为唯有这一步是有门槛的,我代码水平不济,但平常没少靠着 F12 找东西。
至于代码的部分按自己的理解交给 ChatGPT 辅助,这条路就这么跑通了。
扯远了,回到 RPA 工具,现在我们有了一个叫做「图片_list」的元素列表,里面存放的是刚刚捕获到的 N 多例图元素。
第三步:开始循环
怎么操作这个列表就很白给了,创建一个循环,让它每次从列表里拿一个例图,我们对当前例图进行操作。
用到的指令是「ForEach 列表循环」,记得要勾选「输出循环项的位置」,原因是后面写入表格的时候,还需要行号。
创建这个指令后,会自带一个「循环结束标记」的指令,到这个指令时相当于循环结束了,所以剩下对于循环中的操作,都添加在这两个指令间。
循环中的当前项,也就是我们要操作的目标,是自命名的「图片_item」,后续操作里,让我们认准这个名字。
使用指令「点击元素」,网页对象是最初打开的网页,操作目标就是当前循环的对象。
点击图片后,页面就变成这个样子了,不要盯着黑丝看了,划重点,因为 Prompt 过长,右边还需要滚动页面才能找到 Copy 按钮。
这一步我就不作介绍了,不过滚动指令中要勾选「在指定元素上滚动」的指令,再用默认的捕获模式抓一下侧边栏,原因无他,侧边栏和例图是独立的,没办法直接滚动。
滚动完,使用指令「点击元素」,同样用的是「去元素库选择」中的捕获新元素。
捕获新元素这里这个样子:
当脚本点击 Copy 按钮,此时的 Prompt 都在剪切板上,用「获取剪切板文本」指令获取一下。
再把剪切板内容写入 Excel 就搞定了。
如果你想要例图的话,就再加一个「网页截图」的指令:
用「单元格填充图片」指令把本地截图填充到表格内。
在一次循环的结束前,别忘了此时我们浏览器还在例图的详情页呢,用「键盘输入」的指令,按下 Esc,回到模型页,才能让循环进行下去。
循环的逻辑到这里就搞定了,整体流程如下。
当然,当然,循环这个指令,也要放到「启动 Excel」指令中,毕竟循环里要对表格进行操作,肯定需要提前打开表格才 OK。
第四步:搞定报错
如果你运行当前的脚本,肯定是会报错的,原因就是,C 站分享的例图,并不强制要求提供 Prompt,没提示词,Copy 按钮自然也找不到。
咋办?粗暴点,我们加个「Try」指令,后面会跟着「Catch」和「End Try」。
在 Try 和 Catch 之间,我们让它找 Copy 按钮。
如果报错了,它会接着执行 Catch 和 End Try 之间的指令,报错的原因咱已经知道了,是没有 Copy 按钮导致的,既然如此,我们直接截图填充 Excel 表格即可,不再去找 Coyp 按钮了。
至此,脚本就算全部编写完成了,运行起来是全自动的,如果你觉得影响使用,完全可以在虚拟机中跑 PRA。
数了数,这个脚本一共是 30 多条指令,前后花了大概 1 个多小时吧,但这个脚本却可以反复使用,省了我无数个 1 小时。。。
结语
有了提示词,是完全可以通过 Stable Diffusion WebUI 一键导入的,如果你愿意折腾下去,根据这份表格,用 RPA 工具实现 SD 的自动生图也不在话下。
如果说上周一那篇介绍的 RPA 工具对于客户端的操作,今天这篇专精的对象就是网页端了,两篇差不多影刀这个 RPA 工具入门是没啥问题。
这些个脚本或许不适合不玩 AI 绘画的小伙伴,但我相信看了这篇,会帮你打开自动化玩电脑的新思路,那些大胆的想法也能实现。
影刀就写到这吧,有机会我们再多分享几个其他自动化工具的使用教程,或者多个工具的搭配玩法。
不管怎么说,教程制作不易,好不容易看到这的小伙伴大胆给个赞吧。
QQ 群:729224889 网站:wldxh.com