Javascript 从新打开的页面Puppeter获取标题

Javascript 从新打开的页面Puppeter获取标题,javascript,puppeteer,Javascript,Puppeteer,我正在尝试获取一个新标签,并使用puppeter刮取该页面的标题 这就是我所拥有的 // use puppeteer const puppeteer = require('puppeteer'); //set wait length in ms: 1000ms = 1sec const short_wait_ms = 1000 async function run() { const browser = await puppeteer.launch({ headles

我正在尝试获取一个新标签,并使用
puppeter
刮取该页面的标题

这就是我所拥有的

// use puppeteer
const puppeteer = require('puppeteer');

//set wait length in ms: 1000ms = 1sec
const short_wait_ms = 1000

async function run() {
    const browser = await puppeteer.launch({
        headless: false, timeout: 0});
    const page = await browser.newPage();

        await page.goto('https://biologyforfun.wordpress.com/2017/04/03/interpreting-random-effects-in-linear-mixed-effect-models/');

    // second page DOM elements
    const CLICKHERE_SELECTOR = '#post-2068 > div > div.entry-content > p:nth-child(2) > a:nth-child(1)';

    // main page
    await page.waitFor(short_wait_ms);
    await page.click(CLICKHERE_SELECTOR);


    // new tab opens - move to new tab
    let pages = await browser.pages();

    //go to the newly opened page

    //console.log title -- Generalized Linear Mixed Models in Ecology and in R

}

run();

我不知道如何使用
browser.page()
开始处理新页面。

您不需要移动到新选项卡

要获取您可以使用的任何页面的标题,请执行以下操作:

const pageTitle = await page.title();
此外,在您单击某个内容并等待加载新页面后,您应该等待加载事件或网络空闲:

// Wait for redirection
await page.waitForNavigation({waitUntil: 'networkidle', networkIdleTimeout: 1000});
根据以下内容检查文档:

第页标题()
  • 返回:
    返回页面的标题
捷径

因此,您应该使用
page.title()
获取新打开页面的标题

或者,您可以通过使用以下方法获得轻微的性能提升:

page._frameManager._mainFrame.evaluate(() => document.title)
注意:请确保在调用
page.title()
时使用操作员,因为必须先下载title标签,木偶演员才能访问其内容