2017-10-09 104 views
0

我正在使用puppeteer做瀏覽器測試,我設法做的是訪問一個頁面,然後我點擊一個DOM元素,點擊後,瀏覽器顯示其他視圖,在這個視圖中我做點擊一個按鈕,打開彈出窗口用Facebook登錄。如何處理puppeteer中的多個窗口?

我的問題是

我怎麼可以處理程序做 Facebook登錄其他窗口?這是代碼。

示例代碼

import * as puppeteer from 'puppeteer'; 

const f = async() => { 
console.log('..'); 

const browser = await puppeteer.launch({ headless: false }); 
const page = await browser.newPage(); 
page.setViewport({ width: 1200, height: 800 }) 
await page.goto('https://goalgoodies.herokuapp.com').catch(err => { console.log('error ', err); }); 

await page.screenshot({ path: 'screenshot.png' }); 

const resp = await page.click('a').catch(err => { console.log('error click', err); }); 

const inputElement = await page.$('.signin a').catch(err => { console.log('error selector', err); }); 

await inputElement.click().catch(err => { console.log('error click', err); }); 
await page.screenshot({ path: 'screenshot2.png' }); 

const fbBtn = await page.$('button[name=facebook]'); 
await fbBtn.click(); 
// here it's open pop up for do login with facebook 
await page.screenshot({ path: 'clickpopup.png' }); 
}; 
f(); 

顯然沒有辦法與puppeter與其他窗口

Here another related question

在這篇文章中forumaslushnikov提到要與相關的一些用戶交互Target domain,但我不明白他的意思,或如何執行。

任何幫助,將不勝感激。

謝謝

回答