本文整理汇总了TypeScript中puppeteer.Page类的典型用法代码示例。如果您正苦于以下问题:TypeScript Page类的具体用法?TypeScript Page怎么用?TypeScript Page使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Page类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: 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)
}
}
示例2: 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);
}
}
示例3: async
return async () => {
await page.click('#create-app');
await page.waitForSelector($dialog.selector());
await page.type($dialog.input('.name'), name);
await page.type($dialog.textarea('.description'), description);
await page.click($dialog.button('.create'));
};
示例4: embed
it(`should have one selection instance per ${resolve} view`, async () => {
await embed(spec(specType, 0, selection));
for (let i = 0; i < hits[specType].length; i++) {
const parent = parentSelector(specType, i);
const store = await page.evaluate(fn(specType, i, parent));
expect(store).toHaveLength(i + 1);
expect(store[i].unit).toMatch(unitNameRegex(specType, i));
await testRender(`${resolve}_${i}`);
}
await embed(spec(specType, 1, {type, resolve, encodings: ['x']}));
for (let i = 0; i < hits[specType].length; i++) {
const parent = parentSelector(specType, i);
await page.evaluate(fn(specType, i, parent));
}
for (let i = hits[`${specType}_clear`].length - 1; i >= 0; i--) {
const parent = parentSelector(specType, i);
const store = await page.evaluate(fn(`${specType}_clear`, i, parent));
expect(store).toHaveLength(i);
if (i > 0) {
expect(store[i - 1].unit).toMatch(unitNameRegex(specType, i - 1));
}
await testRender(`${resolve}_clear_${i}`);
}
});
示例5: it
it('changes password of current user', async () => {
const $changepw = selector.form('#changepw-dialog');
await page.click('#changepw');
await page.waitForSelector($changepw.selector());
await page.type($changepw.input('.newpass'), 'changed');
await page.click($changepw.button('.change'));
});
示例6: it
it('deletes own client', async () => {
await page.click($table.cell(1, Col.Delete, '.delete'));
// confirm delete
await page.waitForSelector(selector.$confirmDialog.selector());
await page.click(selector.$confirmDialog.button('.confirm'));
});
示例7: embed
it('should brush over binned domains', async () => {
await embed(
spec(
'unit',
1,
{type, encodings: ['y']},
{
x: {aggregate: 'count', type: 'quantitative'},
y: {bin: true},
color: {value: 'steelblue', field: null, type: null}
}
)
);
for (let i = 0; i < hits.bins.length; i++) {
const store = await page.evaluate(brush('bins', i));
expect(store).toHaveLength(1);
expect(store[0].fields).toHaveLength(1);
expect(store[0].values).toHaveLength(1);
expect(store[0].fields[0].channel).toBe('y');
expect(store[0].fields[0].field).toBe('b');
expect(store[0].fields[0].type).toBe('R');
expect(store[0].values[0]).toHaveLength(2);
await testRender(`bins_${i}`);
}
const store = await page.evaluate(brush('bins_clear', 0));
expect(store).toHaveLength(0);
});
示例8: waitToDisappear
it('changes password of jmattheis', async () => {
await page.click($table.cell(3, Col.EditDelete, '.edit'));
await page.waitForSelector($dialog.selector());
await page.type($dialog.input('.password'), 'unicorn');
await page.click($dialog.button('.save-create'));
await waitToDisappear(page, $dialog.selector());
});