041-学习笔记:RPA操作Chrome的两个小技巧

大家好,我是小洛哥,一个刚刚开始每天写作的新人。

日更 100 天,第 41 天。

前段时间不是托管了两个公众号,只负责发文章就好。

于是每天有一项重复的工作,就是下载好文章,打开公众号,贴进去,排版,发送。

于是干了几天就把这个流程给 RPA 化了。虽然排版还需要手动,但大幅降低重复性的工作还是蛮爽的。

不过这里有两个难点:

  1. 托管的两个账号,如果用一个浏览器反复退出登录,切不说账号好不好的问题,就挺麻烦的
  2. RPA 程序里,因为在公众号后台元素很不稳定,当时采取了简单粗暴的定位点击法,但每次浏览器启动后窗口大小和位置都不同

01

其中难点 1,搜索了一下很快就能解决了,就是使用 Chrome 里不同的个人资料加上 Chrome 的启动参数。
在 Chrome 新建个人资料后,可以将个人资料直接发送快捷方式到桌面,右键属性打开后就可以看到相关的参数

所以我有三个参数,需要谁用谁就好了:

  1. --profile-directory="Default" 日常用
  2. --profile-directory="Profile 1" 公众号 1
  3. --profile-directory="Profile 2" 公众号 2

当然,在 打开网页 - 影刀帮助中心 里也提到可以使用 --user-data-dir="绝对路径" 来解决这个问题。

02

至于难点 2,上面提到的帮助中心里也提到了可以使用参数 --start-maximized,来让 Chrome 启动后窗口最大化。不过因为我是在发现这个参数之前就已经写好了 RPA(我习惯在写 RPA 应用时左半屏显示影刀,右半屏显示浏览器),各种鼠标点击位置、元素位置都已经弄好了,懒得再去重新跑一边流程定位,就想去找找能不能启动时直接限定窗口大小和位置。

当然也找到了,分别是 --window-size=1440,800--window-position=0,0

这样限定具体大小和位置的好处,我想就是能够结合影刀里位置相关的设定「相对于激活窗口左上角」,在不同尺寸的显示器下,都能让各种位置变成绝对值吧。

03

将上面的三个参数组合起来,就是我常用的启动参数了

--profile-directory="Default" --window-size=1296,1039 --window-position=1273,0
--profile-directory="Profile 1" --window-size=1296,1039 --window-position=1273,0
--profile-directory="Profile 2" --window-size=1296,1039 --window-position=1273,0

但是这里有一个问题阻碍了我很久,需要注意⚠️:

不知为何这些命令行参数,一定要首先运行「关闭网页 - 关闭所有网页」的指令才能生效,有时甚至需要「终止浏览器进程」。就使我在本地写 RPA 应用时,只能用 Edge 浏览器来查资料了,多少还是有点不太方便。

这个是什么原因还不太清楚,希望影刀官方能优化一下。