Untitled
unknown
javascript
4 years ago
1.6 kB
4
Indexable
function extract_file_url(month_choose_elem) { var url_count = month_choose_elem.childElementCount; var url_list = []; for (var i=0; i<url_count; i++) { url_elem = month_choose_elem.children[i]; url_list.push(url_elem.getAttribute("objurl")); } return url_list; } function build_fileinfo(file_url_list, src_filename) { fileinfo = {} filename_base = "table"; filename_suffix = "xlsx"; for (var i=0; i<file_url_list.length; i++) { filename = filename_base + "_" + String(i) + "." + filename_suffix; fileinfo[filename] = {}; fileinfo[filename]["url"] = file_url_list[i]; } return fileinfo; } var genie = require('genie').create({ xpathVersion: '2.0' }); var x = require('casper').selectXPath; var ex = genie.extendedXpath(x); var blacklist = ['.css', '.png', '.gif', '.jpeg', 'google-analytics', 'yandex']; var files = genie.files(); var base_url = "http://www.moa.gov.cn/ztzl/szcpxx/jdsj/"; // how to navigate to the url above and enable me to use ex function like below? thank you for helping! var month_choose_elem = ex("(//li[@data-id='xzjd']//ul[@class='newChangeList'])[2]")[0]; var file_url_list = extract_file_url(base_url); var fileinfo = build_fileinfo(file_url_list); files.blacklist(blacklist) .retry(5) .add(fileinfo) .steps(function (parameters) { // this.thenOpen(parameters.url); // this.waitAndClick(ex("//a[contains(text(), '"+parameters.source_file_name+"')]")); }); genie.run(files);
Editor is loading...