使用Tampermonkey在网页

时间:2018-01-04 11:26:55

标签: javascript download automation webpage tampermonkey

我已经为此完成了新手,但我试图整理一些代码,这些代码会每小时自动从网页下载.csv文件并将其保存到我的计算机(最好是特定的地方) 。该数据来自苏格兰的以下网站的每小时降雨量数据。

http://apps.sepa.org.uk/rainfall

基本上我需要能够选择左侧地图中的一个网站(每次都是相同的网站)并从右上角的下拉菜单中下载每小时降雨.csv文件手的一面。手动操作时,将鼠标悬停在下载按钮上,然后将鼠标悬停在"下载为..."然后选择" CSV"什么时候出现。

从我在这里阅读的内容来看,Chrome Tampermonkey extension used in conjunction with the Windows Task Scheduler可能是最好的方法。从上一个问题中可以得到代码:

document.getElementById("download_button").click();

我试图更换" download_button"包含可能描述页面上CSV按钮元素ID的内容的部分,例如使用' CSV&#39 ;;但我真的不确定按钮的元素ID是什么。我已经尝试过检查源代码中的元素,但是我不知道我不知道我在寻找什么。

我也尝试按类和路径搜索元素但是我真的不确定类和路径的值是什么,以获得我需要的特定下载按钮。

document.getElementByClass("export-main").click();

document.getElementByPath("//*[@id=\"chartdiv\"]/div/div[2]/ul/li/ul/li[1]/ul/li[3]/a/span").click();

我们将非常感谢任何帮助,我甚至不确定它是否可能,或者这是否是最佳方式。

提前感谢您提供给我的任何帮助。

1 个答案:

答案 0 :(得分:0)

正如概念验证一样,更好的方法是针对您需要的数据(位置)的特定http GET请求。这样您就可以获得所要求的JSON格式响应(可以转换为CSV)。谷歌如何打开Chrome DevTools(F12),你会在网络选项卡上找到你需要的请求(一堆请求,其中一些包含你在响应中需要的数据)。 复制请求URL(来自网络选项卡)时,请按照此page中的说明从命令行执行下载。 准备好后,您可以通过Windows任务计划程序执行该命令。