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标签,木偶演员才能访问其内容