Node.js在请求和selenium之间共享cookie

时间:2017-11-01 06:01:21

标签: javascript node.js selenium cookies

我正在尝试登录并抓取java重型网站。我最终在Node.js上使用了selenium。我能够登录并看到我登录了由selenium打开的浏览器。由于selenium没有访问响应流的方法,我试图通过Node.js请求获取它。我需要能够通过请求传递我的cookie以保持我的登录。我不确定我是否正确,因为我从请求得到的回复显示我没有登录。下面是我的代码的一部分:

   var request = require('request').defaults({jar: true});
   const driver = new Builder()
      .forBrowser('chrome')
      .build();

  //perform login steps

   driver.manage().getCookies().then(function (cookies) {
       cookiesAll = cookies;
   });

   function onRequest(req, res) {
       var queryData = url.parse(req.url, true).query;
       if (queryData.url) {
           request({
                url: queryData.url,
                jar: cookiesAll
           }).on('error', function(e) {
                res.end(e);
           }).pipe(res);
        }
        else {
           res.end("no url found");
        }
   }

我在控制台上检查了所有Cookie的内容,如下所示:

   [ { domain: '.XXXX.com',
       expiry: XXXXX,
       httpOnly: false,
       name: 'djcs_kli',
       path: '/',
       secure: false,
       value: '1' },
     { domain: '.XXXX.com',
       expiry: XXXXX,
       httpOnly: false,
       name: 'XXXXX',
       path: '/',
       secure: false,
       value: 'XXXXXXX' },
     { domain: '.XXX.com',
       httpOnly: false,
       name: 's_cc',
       path: '/',
       secure: false,
       value: 'true' }]

0 个答案:

没有答案