如何在 ubuntu 命令行中操作 DOM 而不在 GUI 上实际呈现页面?

如何在 ubuntu 命令行中操作 DOM 而不在 GUI 上实际呈现页面?

我编写了一个小的 JS 代码片段,它循环单击某个目标网站的 DOM 中的一些按钮。要运行此代码片段,我在 Firefox 中打开目标网站。然后我将这个 JS 代码片段粘贴到控制台中并让它完成工作。下面是 PFA 示例代码片段。

现在的问题是,我想自动化整个过程,以避免每天打开 Firefox。我只想编写一个 cron 来每天执行此操作,一切都应该在后台进行。我需要在没有 GUI 的云 Linux VM 上部署它。

关于我应该如何进行,您有什么想法吗?(我已经知道我可以使用网站的后端 API,从而绕过整个 DOM 操作。但我想探索其他选项。)

PS:我在 Firefox 的开发人员工具控制台中输入的代码示例:

func = setInterval(function () {
    // Some button that I want to click.
    document.evaluate("/html/body/div[1]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.click();

    // TODO: A break condition (or not)
}, 6000);

答案1

我建议你放弃你迄今为止所做的事情,并学会使用

当我们测试 Web 应用程序时,Selenium 几乎是行业标准,并且允许您自动化(脚本)浏览器交互。

Selenium 可以自动化浏览器。就是这样!如何使用这种能力完全取决于您。它主要用于自动化 Web 应用程序以进行测试,但当然不仅限于此。枯燥的基于 Web 的管理任务也可以(也应该!)实现自动化。

Selenium 得到了一些大型浏览器供应商的支持,这些供应商已经(或正在)采取措施将 Selenium 变成其浏览器的原生部分。它也是无数其他浏览器自动化工具、API 和框架的核心技术。

相关内容