Puppeteer 页面切换

Photo by Cristina Gottardi on Unsplash

很多时候,我们需要利用 Puppeteer 进行页面切换。比如点击某个按钮,打开

了一个新的页面(<a target=’blank’>),此时我们想切换到新开的页面,那

么就涉及到了页面的切换。虽然在某些场景下,我们可以通过页面修改元素属

性的方式来阻止跳转避免页面切换。但是在某些场景下,直接切换页面会来的

更加容易。

获取浏览器页面

没错,使用 Puppeteer 的 browser.pages 方法,我们就能直接获取到浏览器

对象下的所有页面对象。browser.pages() 返回的是 page 对象数组。我们只要

让 page = pages[page.length – 1] 就能获取到最新的页面。

change-page-simple.js

陷阱

这里需要注意的是。 页面需要加载完了才会载入到 pages 中。因此这里你可能

需要等待一段时间, 才可以切换到新的页面。或者你也利用 target 对象来确保

page 已经生成。

change-page-graceful.js

参考链接

New page not added to browser.pages() immediately

puppeteer-advanced-example/change-page.js

发表评论

电子邮件地址不会被公开。 必填项已用*标注