本文整理匯總了TypeScript中puppeteer.Browser類的典型用法代碼示例。如果您正苦於以下問題:TypeScript Browser類的具體用法?TypeScript Browser怎麽用?TypeScript Browser使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了Browser類的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: open
export async function open(name: string, browser: Browser, code: string, id: string = '#test'): Promise<Page> {
const page = await browser.newPage()
const content = `
<!doctype html>
<html>
<head>
<title>${name}</title>
</head>
<body>
<div id="app"></div>
<script>
${encode(await VUE_SOURCE)}
</script>
<script>
${encode(await code)}
</script>
</body>
</html>`
// Un-comment following lines to debug generated HTML.
if (!Boolean(process.env.CI)) {
const dir = path.join(__dirname, '../output')
if (!await promised(fs).exists(dir)) await promised(fs).mkdir(dir)
await promised(fs).writeFile(path.join(dir, name + '.html'), content)
}
await page.setContent(content)
await page.waitFor(id)
return page
}
示例2: 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
}
}
示例3: initPage
public async initPage(browser: Browser): Promise<Page> {
log.verbose('PuppetPuppeteerBridge', 'initPage()')
// set this in time because the following callbacks
// might be called before initPage() return.
const page = this.page = await browser.newPage()
page.on('error', e => this.emit('error', e))
page.on('dialog', this.onDialog.bind(this))
const cookieList = (await this.options.profile.get('cookies')) as Cookie[]
const url = this.entryUrl(cookieList)
log.verbose('PuppetPuppeteerBridge', 'initPage() before page.goto(url)')
await page.goto(url) // Does this related to(?) the CI Error: exception: Navigation Timeout Exceeded: 30000ms exceeded
log.verbose('PuppetPuppeteerBridge', 'initPage() after page.goto(url)')
if (cookieList && cookieList.length) {
await page.setCookie(...cookieList)
log.silly('PuppetPuppeteerBridge', 'initPage() page.setCookie() %s cookies set back', cookieList.length)
}
page.on('load', () => this.emit('load', page))
await page.reload() // reload page to make effect of the new cookie.
return page
}
示例4: initBrowser
public async initBrowser(): Promise<Browser> {
log.verbose('PuppetPuppeteerBridge', 'initBrowser()')
const headless = this.options.head ? false : true
const browser = await launch({
headless,
args: [
'--audio-output-channels=0',
'--disable-default-apps',
'--disable-extensions',
'--disable-translate',
'--disable-gpu',
'--disable-setuid-sandbox',
'--disable-sync',
'--hide-scrollbars',
'--mute-audio',
'--no-sandbox',
],
})
const version = await browser.version()
log.verbose('PuppetPuppeteerBridge', 'initBrowser() version: %s', version)
return browser
}
示例5: async
beforeEach(async () => {
page = await browser.newPage();
page.on('dialog', async (dialog) => {
await dialog.dismiss();
});
errors = errorWatcher(page);
});
示例6: 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)
}
示例7:
afterAll(async () => {
await browser.close();
app.kill();
});