2017-11-16 9 views
0

私は新しいタブを取得しようとしており、そのページのタイトルをpuppeteerと擦っています。新しく開かれたページの人形を取得する

これは私が新しいページで作業を開始するbrowser.page()を使用する方法を見つけ出すことはできません

// 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(); 

を持っているものです。

答えて

1

新しいタブに移動する必要はありません。あなたが何かをクリックして、あなたがロードイベントを待つべきか、ネットワークがあることをロードするために、新しいページを待っている後も

const pageTitle = await page.title(); 

:あなたが使用することができます任意のページのタイトルを取得するために

アイドル:

// Wait for redirection 
await page.waitForNavigation({waitUntil: 'networkidle', networkIdleTimeout: 1000}); 

は、ドキュメントをチェック:https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#pagewaitfornavigationoptions

関連する問題