javascript - 使用 IPC 实现连续 headless (headless)页面自动化

标签 javascript phantomjs ipc headless browser-automation

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

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

我制作了一个电子应用程序来完成所有这些工作,但我需要使该应用程序 headless (headless),以便它可以在 Docker 容器内运行。

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

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

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

我希望有人能够向我指出正确的工具和/或向我指出一些如何实现这一目标的示例。

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

最佳答案

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

关于javascript - 使用 IPC 实现连续 headless (headless)页面自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39543013/

相关文章:

selenium - 如何优化PhantomJS让搜索引擎索引单页应用程序?

perl - 为什么Programming Perl中 "7.2.39 IPC::Open2"所示的程序居然结束了?

java - 如何让 2 个 JVM 相互通信

javascript - ReactJS 无法读取未定义的属性 setState

javascript - 在谷歌地图中控制图像标记大小和阴影的不同方法

javascript - 通过ajax post将数据从js发送到php - 错误

javascript - VSCode 如果在省略大括号时缩进

selenium - 是否可以使用 Selenium WebDriver 来驱动 PhantomJS?

javascript - 有没有办法检查我的脚本是否在 phantomjs 中运行?

node.js - 在主要过程中进行大量计算时出现 Electron 打cup