方法有很多种:
1.browser.pages()可以获取所有打开的Page对象,可以通过遍历或筛选找到自己想获取的Page对象
//获取地址为‘http://woleigequ.net/’的Page对象
let pageList = await browser.pages();
let newPage = pageList.filter(item=>item.url() == 'http://woleigequ.net/')[0]
2.通过browser.waitForTarget获取target
//获取地址为‘http://woleigequ.net/’的Page对象
const target = await browser.waitForTarget(t=>t.url() == 'http://woleigequ.net/')
const newPage = await target.page();
3.browser.on(‘targetcreated’)
await page.goto('woleigequ.net'); // 打开woleigequ.net
await page.waitForSelector('#goto'); // 等待并获取点击跳转的goto元素
const link = await page.$('#goto');
const newPagePromise = new Promise(x => browser.once('targetcreated', target => x(target.page()))); // 声明变量
await link.click(); // 点击跳转
const newPage = await newPagePromise; // newPage就是a链接打开窗口的Page对象
拿到了Page对象,那就可以使用page.bringToFront()将tab切换到该Page了。
感谢阅读!欢迎关注微信公众号”混沌前端“,获取推送更新。