如何使用节点js获取asp.net隐藏字段值?

时间:2014-08-14 19:12:52

标签: javascript asp.net node.js web-scraping

我正在尝试使用nodejs登录网站。 网站的asp.net登录表单包含隐藏字段: __EVENTTARGET, __EVENTVALILDATION, __VIEWSTATE, __EVENTARGUMENT

我正在尝试以下代码:

process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0'; // Ignore 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' authorization error

var request = require('request');
var cheerio = require('cheerio');

function postback(url, callback) {
    request.get(url, function onResponse(err, res, body) {
        $ = cheerio.load(body);
        var button = callback(err, $);
        if (button) {
            var form = {
                //__EVENTTARGET: button.attr('form1').match(/['"]([^"^']+)/)[0], // TODO image buttons
                __EVENTTARGET: button.attr('Button1'),
                __VIEWSTATE: $('#__VIEWSTATE').val(),
                __EVENTVALIDATION: $('#__EVENTVALIDATION').val(),
                __EVENTARGUMENT: $('__EVENTARGUMENT').val(),
            };
        }
    });
}

postback('https://example.com', function(err, $) {
    var button=$('input[type="image"]');
    return button
    //console.log(err)
    //console.log($)
})

没有获得__EVENTTARGET__EVENTARGUMENT的值。 这些字段可能需要单击按钮。 如何用cheerio点击它?

0 个答案:

没有答案