puppeteer怎么从第二个page切换到第一个page?

const puppeteer = require('puppeteer');

(async () => {
    const browser = await puppeteer.launch({headless:false});
    const page = await browser.newPage();
    //打开掘进首页,点击第一个文章链接
    await page.goto('https://juejin.im/');
    await page.setViewport({width:1280,height:800});
    await page.waitFor('#juejin > div.view-container > main > div > div > div.feed.welcome__feed > ul > li:nth-child(1) > div > div > a > div > div > div.info-row.title-row > a');
    await page.tap('#juejin > div.view-container > main > div > div > div.feed.welcome__feed > ul > li:nth-child(1) > div > div > a > div > div > div.info-row.title-row > a');
    //跳转到第二个窗口输入文字
    await page.waitFor(3000);//等待3秒,等待新窗口打开
    const page2 = ( await browser.pages() )[2];//得到所有窗口使用列表索引得到新的窗口
    await page2.setViewport({width:1280,height:800});
    await page2.waitFor('.search-input');
    await page2.type('.search-input','succeed');//在新窗口中输入文字
    console.log(await page2.title());//打印新窗口的标题




    //由于不会切换page   下面这句不执行,但是点击page之后也就是说第一个page被激活下面这行才执行,怎么解决??
    await page.tap('#juejin > div.view-container > main > div > div > div.feed.welcome__feed > ul > li:nth-child(2) > div > div > a > div > div > div.info-row.title-row > a');


})();

eg:问题已被大佬解决,是我文档阅读不够全面,知识又不充足.


补充:多个page之间按照打开先后有序列,如果关闭先打开的一个page则后边所有page序列-1, 而不是按照浏览器从左到右12345...

阅读 9k
1 个回答

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题