我编写了一个小的 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 和框架的核心技术。