本文整理汇总了TypeScript中puppeteer.Page.close方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Page.close方法的具体用法?TypeScript Page.close怎么用?TypeScript Page.close使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类puppeteer.Page
的用法示例。
在下文中一共展示了Page.close方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: init
public async init(): Promise<void> {
log.verbose('PuppetPuppeteerBridge', 'init()')
this.state.on('pending')
try {
this.browser = await this.initBrowser()
log.verbose('PuppetPuppeteerBridge', 'init() initBrowser() done')
this.on('load', this.onLoad.bind(this))
const ready = new Promise(resolve => this.once('ready', resolve))
this.page = await this.initPage(this.browser)
await ready
this.state.on(true)
log.verbose('PuppetPuppeteerBridge', 'init() initPage() done')
} catch (e) {
log.error('PuppetPuppeteerBridge', 'init() exception: %s', e)
this.state.off(true)
try {
if (this.page) {
await this.page.close()
}
if (this.browser) {
await this.browser.close()
}
} catch (e2) {
log.error('PuppetPuppeteerBridge', 'init() exception %s, close page/browser exception %s', e, e2)
}
this.emit('error', e)
throw e
}
}
示例2: onLoad
public async onLoad(page: Page): Promise<void> {
log.verbose('PuppetPuppeteerBridge', 'initPage() on(load) %s', page.url())
if (this.state.off()) {
log.verbose('PuppetPuppeteerBridge', 'initPage() onLoad() OFF state detected. NOP')
return // reject(new Error('onLoad() OFF state detected'))
}
try {
const emitExist = await page.evaluate(() => {
return typeof window['emit'] === 'function'
})
if (!emitExist) {
await page.exposeFunction('emit', this.emit.bind(this))
}
await this.readyAngular(page)
await this.inject(page)
await this.clickSwitchAccount(page)
this.emit('ready')
} catch (e) {
log.error('PuppetPuppeteerBridge', 'init() initPage() onLoad() exception: %s', e)
await page.close()
this.emit('error', e)
}
}
示例3: quit
public async quit(): Promise<void> {
log.verbose('PuppetPuppeteerBridge', 'quit()')
if (!this.page) {
throw new Error('no page')
}
if (!this.browser) {
throw new Error('no browser')
}
this.state.off('pending')
try {
await this.page.close()
log.silly('PuppetPuppeteerBridge', 'quit() page.close()-ed')
} catch (e) {
log.warn('PuppetPuppeteerBridge', 'quit() page.close() exception: %s', e)
}
try {
await this.browser.close()
log.silly('PuppetPuppeteerBridge', 'quit() browser.close()-ed')
} catch (e) {
log.warn('PuppetPuppeteerBridge', 'quit() browser.close() exception: %s', e)
}
this.state.off(true)
}
示例4: takeComponentScreenshot
function* takeComponentScreenshot() {
const state: ApplicationState = yield select();
yield put(componentScreenshotStarted());
try {
const entries = getPreviewComponentEntries(state);
console.log(`Taking screenshot of ${entries.length} components...`);
const clippings: ScreenshotClippings = {};
for (const entry of entries) {
clippings[getPreviewClippingNamespace(entry.componentId, entry.previewName)] = entry.bounds;
}
const previewUrl = getAllComponentsPreviewUrl(state)
const browser = state.headlessBrowser;
const page: Page = yield call(browser.newPage.bind(browser));
yield call(page.goto.bind(page), previewUrl);
yield call(page.setViewport.bind(page), getAllComponentsPreviewSize(entries));
// wait for a bit for all resources to load
yield call(page.waitForSelector.bind(page), ".__ready");
const buffer = yield call(page.screenshot.bind(page, { type: "png" }));
yield put(componentScreenshotTaken(buffer, clippings, "image/png"));
page.close();
} catch(e) {
console.error(e.stack);
}
}
示例5: afterEach
afterEach(async () => {
await page.close();
});