2017-10-09 75 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,但我不明白他的意思,或如何执行。

任何帮助,将不胜感激。

谢谢

回答