使用Puppeteer的.goto方法在页面导航之间是否保留会话ID?

时间:2018-07-04 04:17:26

标签: puppeteer

当尝试使用Puppeteer的goto方法导航到子页面时,我注意到在两次导航之间未正确保留cookie信息。

const puppeteer = require('puppeteer');

puppeteer.launch().then(async browser => {
  const page = await browser.newPage();
  await page.goto('http://www.example.com/Summary.aspx?sid=100-013-030);
  await page.screenshot({path: 'example1.png'});
  await page.goto('http://www.example.com/DetailInfo.aspx?did=af902cb3');
  await page.screenshot({path: 'example2.png'});
  await browser.close();
});

在上面的代码中,在进行第二次goto调用时,生成的example2.png文件是“摘要”着陆页的屏幕截图;表示无提示的失败。相反,在Chrome浏览器本身中手动导航时,将DetailInfo链接复制并粘贴到新标签中将打开预期的页面。

在进一步调查中,我确实注意到该网站在浏览器缓存中保留了带有会话ID的cookie,但是手动方法和使用Puppeteer造成这种差异的区别是什么?

0 个答案:

没有答案