使用 IPC 的连续无头页面自动化

Continuous headless page automation with IPC

我需要制作一个无头(对于 docker 容器)应用程序,它等待外部信号,然后通过单击几个 html 元素(选择器、按钮、链接)来响应该信号) 并填写一些输入字段。所有这些都可以使用 jQuery 来完成,我知道该怎么做。

应用程序需要保持页面加载状态以便立即执行操作,每次重新加载页面所花费的时间太长。接收信号、填写表格并提交的整个动作应该在一秒钟内完成。

我制作了一个可以完成所有这些操作的电子应用程序,但我需要使该应用程序无头,以便它可以 运行 在 docker 容器中。

看起来 Phantomjs 可以做到这一点,但我看到两个问题:

Phantom 脚本需要保持网页加载,因为我需要自动化的网页非常繁重,加载可能需要一分多钟。

Phantom 脚本需要能够接收信号并报告进度。基于 HTTP 或文件的速度太慢,我想使用 websockets 进行此通信。

我希望有人能为我指出正确的工具and/or为我指出一些如何实现这一点的例子。

我想使用 Javascript,但如果有另一种现代语言的完美解决方案,我可以使用它。

我设法使用 Electron 使其在 Docker 容器内工作。