メインコンテンツにスキップ

ElectronApplication

Electronアプリケーションの表現。 electron.launch()を使用してアプリケーションインスタンスを取得できます。このインスタンスを使用すると、メインのElectronプロセスを制御したり、Electronウィンドウを操作したりできます。

const { _electron: electron } = require('playwright');

(async () => {
// Launch Electron app.
const electronApp = await electron.launch({ args: ['main.js'] });

// Evaluation expression in the Electron context.
const appPath = await electronApp.evaluate(async ({ app }) => {
// This runs in the main Electron process, parameter here is always
// the result of the require('electron') in the main app script.
return app.getAppPath();
});
console.log(appPath);

// Get the first window that the app opens, wait if necessary.
const window = await electronApp.firstWindow();
// Print the title.
console.log(await window.title());
// Capture a screenshot.
await window.screenshot({ path: 'intro.png' });
// Direct Electron console to Node terminal.
window.on('console', console.log);
// Click button.
await window.click('text=Click me');
// Exit app.
await electronApp.close();
})();

メソッド

browserWindow

追加されたバージョン: v1.11 electronApplication.browserWindow

指定されたPlaywrightページに対応するBrowserWindowオブジェクトを返します。

使用法

await electronApplication.browserWindow(page);

引数

  • page Page#

    ウィンドウを取得するページ。

戻り値


close

追加バージョン: v1.9 electronApplication.close

Electronアプリケーションを閉じます。

使用法

await electronApplication.close();

戻り値


context

追加バージョン: v1.9 electronApplication.context

このメソッドは、コンテキスト全体でのルーティングなどの設定に使用できるブラウザコンテキストを返します。

使用法

electronApplication.context();

戻り値


evaluate

追加バージョン: v1.9 electronApplication.evaluate

pageFunctionの戻り値を返します。

electronApplication.evaluate()に渡された関数がPromiseを返す場合、electronApplication.evaluate()はPromiseが解決されるのを待ってその値を返します。

electronApplication.evaluate()に渡された関数がSerializableではない値を返す場合、electronApplication.evaluate()undefinedを返します。Playwrightは、JSONによってシリアル化できないいくつかの追加の値(-0NaNInfinity-Infinity)も転送をサポートしています。

使用法

await electronApplication.evaluate(pageFunction);
await electronApplication.evaluate(pageFunction, arg);

引数

戻り値


evaluateHandle

追加バージョン: v1.9 electronApplication.evaluateHandle

pageFunctionの戻り値をJSHandleとして返します。

electronApplication.evaluate()electronApplication.evaluateHandle()の唯一の違いは、electronApplication.evaluateHandle()JSHandleを返すことです。

electronApplication.evaluateHandle()に渡された関数がPromiseを返す場合、electronApplication.evaluateHandle()はPromiseが解決されるのを待ってその値を返します。

使用法

await electronApplication.evaluateHandle(pageFunction);
await electronApplication.evaluateHandle(pageFunction, arg);

引数

戻り値


firstWindow

追加バージョン: v1.9 electronApplication.firstWindow

最初のアプリケーションウィンドウが開かれるのを待つ便利なメソッドです。

使用法

const electronApp = await electron.launch({
args: ['main.js']
});
const window = await electronApp.firstWindow();
// ...

引数

  • options Object (optional)
    • timeout number (optional)追加バージョン: v1.33#

      待機する最大時間(ミリ秒)。デフォルトは30000(30秒)です。タイムアウトを無効にするには0を渡します。デフォルト値はbrowserContext.setDefaultTimeout()を使用して変更できます。

戻り値


process

追加されたバージョン: v1.21 electronApplication.process

このElectronアプリケーションのメインプロセスを返します。

使用法

electronApplication.process();

戻り値


waitForEvent

追加バージョン: v1.9 electronApplication.waitForEvent

イベントが発生するのを待ち、その値を述語関数に渡します。述語がtruthyな値を返すと解決します。イベントが発生する前にアプリケーションが閉じられた場合はエラーがスローされます。イベントデータ値を返します。

使用法

const windowPromise = electronApp.waitForEvent('window');
await mainWindow.click('button');
const window = await windowPromise;

引数

  • event string#

    イベント名。通常、*.on(event) に渡されるものと同じです。

  • optionsOrPredicate function | Object (optional)#

    • predicate function

      イベントデータを受け取り、待機を解決する必要がある場合にtruthyな値に解決します。

    • timeout number (optional)

      待機する最大時間(ミリ秒)。デフォルトは30000(30秒)です。タイムアウトを無効にするには0を渡します。デフォルト値はbrowserContext.setDefaultTimeout()を使用して変更できます。

    イベントを受け取る述語、またはオプションオブジェクトのいずれか。オプション。

戻り値


windows

追加バージョン: v1.9 electronApplication.windows

開いているすべてのウィンドウを返す便利なメソッドです。

使用法

electronApplication.windows();

戻り値


イベント

on('close')

追加バージョン: v1.9 electronApplication.on('close')

このイベントは、アプリケーションプロセスが終了したときに発行されます。

使用法

electronApplication.on('close', data => {});

on('console')

追加バージョン: v1.42 electronApplication.on('console')

Electronメインプロセス内のJavaScriptがconsole APIメソッド(例:console.logconsole.dir)のいずれかを呼び出したときに発行されます。

console.logに渡された引数は、ConsoleMessageイベントハンドラー引数で利用できます。

使用法

electronApp.on('console', async msg => {
const values = [];
for (const arg of msg.args())
values.push(await arg.jsonValue());
console.log(...values);
});
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar' }));

イベントデータ


on('window')

追加バージョン: v1.9 electronApplication.on('window')

このイベントは、Electronで作成され、**ロードされた**すべてのウィンドウに対して発行されます。Playwrightオートメーションに使用できるPageが含まれます。

使用法

electronApplication.on('window', data => {});

イベントデータ