我正在尝试使用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点击它?