puppeteer - 使用 Puppeteer 的 .goto 方法在页面导航之间未保留会话 ID?
问题描述
当尝试使用 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 之间有什么区别?
解决方案
推荐阅读
- excel - 在excel上标记过期日期(有点复杂)
- c# - c# DataGridView绑定DataSet格式异常
- sql - 我想将excel中1个单元格中的数据拆分为多列。我有哪些选择可以做到这一点?SQL?Python?Excel?
- javascript - 单击按钮后如何从表单中获取结果(JavaScript 和 HTML)
- json - 确定 Type 是否为纯“数据类型”
- python - python请求库:从附加路径获取响应的函数
- r - 如何更改 RDA 箭头的字体和字体大小 - ggvegan?
- microsoft-graph-api - 通过 REST API 读取 MS Teams 中的聊天线程
- php - 将 WooCommerce 功能的特定结果打印为简码
- python-3.x - 无法使用 .json 密钥文件创建 Pub/Sub Publisher Client