帮对象写的自动点击页面的小脚本,如果有需要的可以试试,(#^.^#)

https://apps.fas.usda.gov/gats/ExpressQuery1.aspx

 var year = '1991';

 var box3 = document.querySelector("#ctl00_ContentPlaceHolder1_lb_Partners");
box3.value='ALLRG';
box3 = document.querySelector("#ctl00_ContentPlaceHolder1_lb_Products");
box3.value='M1';
box3 = document.querySelector("#ctl00_ContentPlaceHolder1_ddlValueUnit");
box3.value='M';
box3 = document.querySelector("#ctl00_ContentPlaceHolder1_ddlDateSeries");
box3.value='Annual';
box3 = document.querySelector("#ctl00_ContentPlaceHolder1_ddlOrderBy");
box3.value='CODE';
box3 = document.querySelector("#ctl00_ContentPlaceHolder1_ddlInDetail");
box3.value='Product';
box3 = document.querySelector("#ctl00_ContentPlaceHolder1_ddlCalculation");
box3.value=''; box3 = document.querySelector("#ctl00_ContentPlaceHolder1_ddlStartYear");
box3.value= year;
box3.dispatchEvent(new Event('change'));
box3 = document.querySelector("#ctl00_ContentPlaceHolder1_ddlEndYear");
box3.value= year;
box3.dispatchEvent(new Event('change')); function clickStep()
{
if (document.querySelector("#overlay").style.display == 'block') {
setTimeout("clickStep()", 1000);
return;
}
console.log("触发点击事件")
document.querySelector("#ctl00_ContentPlaceHolder1_btnRetrieveData").click();
}
setTimeout("clickStep()", 1000); String.prototype.startWith=function(str){
var reg=new RegExp("^"+str);
return reg.test(this);
}
var clicked = false;
function doExpand() {
box3 = document.querySelector("#ctl00_ContentPlaceHolder1_UltraWebTab1__ctl1_grdExpressQuery_GridView1");
var rows = box3.rows;
var inputs = [];
for (var index in rows) {
var length = rows[index].cells ? rows[index].cells.length : 0;
if (length < 4) {
continue;
}
var nodes = rows[index].cells[3].childNodes;
if (nodes.length == 0) {
continue;
}
if (nodes[0].nodeName == '#text') {
continue;
}
var cell5Text = rows[index].cells[4].innerText;
if (!cell5Text.startWith('Bulk Total') && !cell5Text.startWith('Intermediate Total') && !cell5Text.startWith('Consumer Oriented Total')) {
continue;
} var input = nodes[0]; if(input.value == '-') {
continue;
} clicked = true;
input.click();
break;
}
} var index = 0;
function expandStep()
{
if (document.querySelector("#overlay").style.display == 'block' || document.querySelector("#ctl00_ContentPlaceHolder1_UltraWebTab1") == null) {
setTimeout("expandStep()", 1000);
return;
}
console.log((index++) + "打开,total:" );
doExpand();
if (!clicked) {
alert("展开完成,请下载")
return;
} else {
clicked = false;
}
expandStep();
} setTimeout("expandStep()", 5000);

United States Department of Agriculture 美国农业部网站数据自动下载小脚本的更多相关文章

  1. 163k地方门户网站系统自动审核信息脚本

    本代码实现对163k地方门户网站系统发布信息的自动审核,以及对内容中链接全过滤 软件安装 Python 安装 http://www.python.org/download/ pymssql安装 htt ...

  2. 31.网站数据监控-2(scrapy文件下载)

    温州数据采集 这里采集网站数据是下载pdf:http://wzszjw.wenzhou.gov.cn/col/col1357901/index.html(涉及的问题就是scrapy 文件的下载设置,之 ...

  3. opencart配置United States Postal Service快递

    1.安装United States Postal Service 2.登录https://registration.shippingapis.com/,注册帐号,稍后会收到邮件 3.打开邮件,记下Us ...

  4. 抓取网站数据不再是难事了,Fizzler(So Easy)全能搞定

    首先从标题说起,为啥说抓取网站数据不再难(其实抓取网站数据有一定难度),SO EASY!!!使用Fizzler全搞定,我相信大多数人或公司应该都有抓取别人网站数据的经历,比如说我们博客园每次发表完文章 ...

  5. DEDECMS网站数据备份还原教程

    备份织梦网站数据 dedecms备份教程 进入DedeCms后台 -> 系统 -> 数据库备份/还原 备份文件在\data\backupdata 下载数据库备份资料\data\backup ...

  6. 解决MS Office下载网站数据失败的问题

    最近遇到在MS Excel中建立的Web Query在创建完成后过了一段时间(或关闭文件后再次打开文件并刷新数据)出现无法刷新的问题,点击刷新时报错如下: 无法下载您要求的信息. 这是一个很不友好的报 ...

  7. 利用linux curl爬取网站数据

    看到一个看球网站的以下截图红色框数据,想爬取下来,通常爬取网站数据一般都会从java或者python爬取,但本人这两个都不会,只会shell脚本,于是硬着头皮试一下用shell爬取,方法很笨重,但旨在 ...

  8. Python_记一次网站数据定向爬取实现

    记一次网站数据定向爬取实现 by:授客 QQ:1033553122 测试环境: Python版本:Python 3.4 Win7 请勿用于商业及非法用途,仅供学习研究用,否则后果自负 数据爬取场景 如 ...

  9. 用Python下载美国国家气候数据中心(NCDC)的气候数据

    美国国家气候数据中心的官网地址是https://www.ncdc.noaa.gov/ 气候数据的下载地址是: 长格式:ftp://ftp.ncdc.noaa.gov/pub/data/noaa/,这种 ...

随机推荐

  1. 利用unittest+ddt进行接口测试(一):简单demo

    一般进行接口测试时,每个接口的传参都不止一种情况,一般会考虑正向.逆向等多种组合.所以在测试一个接口时通常会编写多条case,而这些case除了传参不同外,其实并没什么区别. 这个时候就可以利用ddt ...

  2. Vue 2.6版本基础知识概要(一)

    挂载组件 //将 App组件挂载到div#app节点里 new Vue({ render: h => h(App), }).$mount('#app') VueComponent.$mount ...

  3. VMware Tools 继续运行脚本未能在虚拟机中成功运行。

    安装VMware Tools之后,Ubuntu弹出以下警告 sudo apt-get autoremove open-vm-tools 也可以执行这个命令(如果vmware-uninstall-too ...

  4. day07(数据类型的相互转换 ,字符编码)

    一,复习: ''' 1,深浅拷贝 ls = [1,'a',[10]] 值拷贝:直接赋值 ls1 = ls,ls中的任何值发生改变,ls1也随之发生改变 浅拷贝:通过copy()方法 ls2 = ls. ...

  5. 2D-2D:对极几何 基础矩阵F 本质矩阵E 单应矩阵H

    对极约束 \[ \boldsymbol{x}_{2}^{T} \boldsymbol{F} \boldsymbol{x}_{1}=\boldsymbol{0} \quad \hat{\boldsymb ...

  6. Vuex 存储||获取后台接口数据

    如果你对 Vuex 有一定的了解的话呢,可以继续这一篇的学习了,如果没有的话, 建议先看一看我的上一篇 Vuex基础:地址在下面 Vuex的详解与使用 Vuex刷新数据不丢失 这篇接着上一篇: 这篇将 ...

  7. https 自签名SSL证书

    介绍 TLS或称传输层安全性,及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议. 使用这种技术,服务器可以在服务器和客户端之间安全地发送流量,而不会被外部各方拦截 ...

  8. 【HTML】行内-块级-行块级

    行内元素 相邻元素可以在一行显示直到一行排不下才进行换行. 不可设置宽高,宽度随内容变化. padding和margin的设置中,水平方向(padding-left...)有效果,垂直方向无效果. 块 ...

  9. setData 和 直接赋值的区别

    wxml: <view> <block wx:for="{{dataArray}}" wx:key="id"> <v-book b ...

  10. ionic3使用moment.js

    安装npm模块 $ npm install moment 例如在/home/home.ts文件里 import { Component } from '@angular/core'; import { ...