从下拉菜单中select选项并使用nodejs提交请求
我正在使用nodejs来报废一个网站,而且我对nodej很陌生。网站的初始页面是一个popup窗口,其中必须从selectbox中select选项,然后才能提交,稍后可以浏览页面。这必须先完成时间,然后它将被存储为cookie供以后使用。
我能够得到popup式HTML页面,但我不能从select框中select选项并提交请求。
这是我的代码
var express = require('express'); var request=require('request'); var cheerio=require('cheerio'); var j = request.jar(); //var cookie = request.cookie(); j.setCookie("city_id=1; path=/; domain=.bigbasket.com", 'http://bigbasket.com/', function(error, cookie) { //console.log("error"+error.message); console.log("cookie "+cookie); }); var app=express(); app.get('/', function(req, res){ console.log("hi"); var sessionVal = req.session; request({uri:'http://bigbasket.com/', headers:{'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36' , 'content-type':'application/x-www-form-urlencoded; charset=UTF-8', 'connection':'keep-alive'}, jar:j}, function(err, response, body) { // console.log("err "+err.message); console.log("header"+JSON.stringify(response.headers)); console.log("status"+response.statusCode); console.log("cookie "+response.cookie); console.log(body); var $=cheerio.load(body,{xmlMode: true}); console.log($); var $selectBox= $('select').filter('.selectboxdiv'); console.log($selectBox.text()); response.end; }); }); app.listen('8081') console.log('Magic happens on port 8081'); exports = module.exports = app;
我可以通过下面的代码获得select框选项:
var $selectBox= $('select').filter('.selectboxdiv'); console.log($selectBox.text());
但是我不能select这个选项并提交。我必须从下拉菜单中select城市,并提交请求,以便我可以从即将到来的网页上抓取数据。
编辑:
如果您使用“req.body.NAME_OF_YOUR_DROPDOWN_HERE”,您会看到什么? 也许你可以看到select的选项呢?