我正在使用 puppeteer 对浏览器进行测试,我设法做的是访问一个页面,然后我点击一个 DOM 元素,点击后,浏览器向我显示其他视图,在这个视图中我点击一个打开弹出窗口的按钮,用于使用 facebook 登录。
我的问题是:
我如何处理另一个窗口以使用 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();
显然木偶无法与其他窗口交互
在这个帖子论坛中,用户aslushnikov
提到了与 相关的Target domain
内容,但我无法理解他的意思,或者如何执行。
任何帮助,将不胜感激。
谢谢