初步背景介绍
我被要求在一个我不拥有并且没有API访问权限的网站上手动执行非常重复的操作。
唯一能自动化这些操作的方法就是编写一些JavaScript代码,并在浏览器上执行它以自动执行我本来会手动进行的操作。
如果此问题已经在其他地方得到解答,请提前谅解,因为我只是后端开发人员,对于前端知识的了解还很有限,我没有找到任何相似的解决方法。
问题说明
假设我需要逐个向表单提交多个条目,我已经编写了以下代码(仅为演示目的而过于简化):
//This array of Json objects is produced by an upstream service
var inputs = [
{
...
},
{
...
},
{
...
}
]
for (i = 0; i < inputs.length; i++) {
fillSomeForms(inputs[i])
clickSubmit() //<-- this will make the page reload, and so the script execution stop
}
我遇到的问题很基础:第一个
for
迭代后,当我调用 clickSubmit()
时,页面重新加载(因为提交是 POST,紧接着是跳转到“提交下一个”页面),所以 JS 停止执行。我已经尝试在网上寻找类似的问题,并且我看到人们会调整
localStorage
以便恢复他们的脚本执行。
然而,这似乎假设脚本是前端代码的资源,这对我来说并不是事实(我并不拥有该代码,我只是将此 JS 注入浏览器的开发者控制台并执行它以节省时间)。有没有办法达到这个目的?我不一定要找到一个干净的解决方案,只是想找到能够使其工作并节省我们一些繁琐劳动的东西(我在这里做的事情都不干净,但系统管理员不想提供访问平台实际提供的 REST API 的权限)。