puppeteer在新tab打开网页

目录

前言

功能描述

演示


前言

在我们日常使用中,经常会碰到需要在新的tab打开一个网页。我们可以用broswer的waitForTarget方法去定位。

功能描述

进去音乐网站,点击按钮,在新tab中打开音乐列表。获取音乐列表信息。

演示

const puppeteer = require('puppeteer');

async function switchWindows(){
    const broswer = await puppeteer.launch({
        headless: false,
        defaultViewport: {
            width: 1920,
            height: 1080
        },
        slowMo: 200,
        ignoreDefaultArgs: ['--enable-automation'],
        args: ['--start-maximized']
        // executablePath:'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe'
    });
    const page = await broswer.newPage();
    await page.goto('https://music.91q.com/songlist', {waitUntil:'networkidle0'});
    //定位到元素:神仙翻唱,唤醒耳朵的全新演绎
    const span_music = await page.waitForSelector('.tracklist-box.clearfix>div:nth-child(2)>.poster')
    await span_music.click();

    const targetUrl = await broswer.waitForTarget(t=>t.url().includes('player'));
    const newPage = await targetUrl.page();

    //等待songlist出现
    await newPage.waitForSelector('ul.songlist.fl')
    const text = await newPage.$eval('ul.songlist.fl', ele=> ele.innerText);
    console.log(text);
}

switchWindows();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值