2017-10-09 21 views
0

브라우저로 테스트를 수행하기 위해 puppeteer를 사용하고 있습니다. 페이지에 액세스 한 다음 DOM 요소를 클릭하고 브라우저를 클릭하면 다른 뷰가 표시됩니다. 페이스 북으로 로그인하려면 팝업 창이 열리는 버튼을 클릭하십시오.인형극에서 한 개 이상의 창을 다루는 방법은 무엇입니까?

내 질문이입니다 : 내가 페이스 북으로 로그인 할에 대한 다른 창을 핸들러 수있는 방법을

? 이것은 코드입니다.

예제 코드 :

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

는 분명히 다른 창이 게시물 forum에 관련된 일을 언급 aslushnikov 사용자에

Here another related question

와 상호 작용하는 puppeter와 방법이 없습니다 Target domain 그러나 나는 그가 의미하는 것을 이해할 수 없다. 또는 실행 방법.

도움을 주시면 감사하겠습니다.

고맙습니다.

답변