Puppeteer 页面切换

Photo by Sora Sagano on Unsplash

很多时候,我们需要利用 Puppeteer 进行页面切换。

比如点击某个按钮,打开了一个新的页面(<a target=’blank’>),

此时,我们想切换到新开的页面,那么这就涉及到了页面的切换。

当然在某些特殊场景下,我们可以通过页面修改元素属性的方式来阻止跳转。

但是在某些场景下,直接切换页面会来的更加容易。

获取浏览器页面

没错,使用 Puppeter 的 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

发表评论

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