puppeteer获取打开的链接,打开新连接,切换tab

方法有很多种:

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了。
chaos-fe

posted @   一颗小行星-  阅读(899)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示