我目前正在尝试制作一个程序,该程序将从使用下载按钮的特定站点下载。这些下载按钮并不指向所请求文件的特定URL,而是使用输入元素输入URL,从而以某种方式返回文件本身。
最初,我尝试使用C#制作一个可以自动下载每个文件的Web浏览器,但是由于“文件下载”对话框引起了许多技术难题,因此无法正常工作。
我现在依靠HTML和Javascript创建一个网页,其中包含所有要按下的下载按钮。但是现在,我需要一种自动按下这些按钮的方式,每次按下之间具有间隔(此网站有节流政策)。
这是HTML:
<html>
<head>
</head>
<body>
<script src="vimm.js"></script>
</body>
</html>
这是Javascript:
for (index = 1; index < 999; index++) {
document.write("<form action=\"https://download2.vimm.net/download.php\" method=\"GET\"><input type=\"hidden\" name=\"id\" value=\"" + index + "\"><input type=\"hidden\" name=\"fileNumber\" value=\"1\" disabled=\"\"><input type=\"hidden\" name=\"t1\" value=\"4b0ad3b9d67efa795b4f242875598e02\"><input type=\"hidden\" name=\"t2\" value=\"20f09e93b97dd096e16d6a0376a4cfc3\"><input type=\"submit\" value=\"Download\" name=\"download\" id=\"downloadButton" + index + "\" onmouseover=\"this.click();\" onclick=\"this.form.elements['fileNumber'].disabled=true;\"></form>");}
在此脚本中,我尝试过在鼠标悬停在元素上的情况下对其进行单击,但这太快了(它会触发限制策略)。自动滚动不起作用,因为鼠标在滚动时未注册。
程序还引用了某些不可下载的站点(例如,第七个下载按钮)。我如何能够检查该网站是否具有指定的元素以跳过它?
我应该尝试其他方法还是在正确的轨道之一上?如果我处于正确的轨道之一,那么如何从下载按钮而不是URL实施自动下载? 谢谢大家。