Skip to content

[Question]Can control playwright in electron? #19157

Description

@keyiis

I want use playwright in electron app, my electron app has two windows, The A is main window, The B is controled by A window, Now I used playwright to control B window in main process, The code is as follows:
Electron main process index.js

import {ElectronApplication, Page, _electron} from 'playwright-core';
const electronApp:ElectronApplication,B_window:Page;
function openB(){
    electronApp = await _electron.launch({ args: ['./B_Win.js'] });
    B_window  = await electronApp.firstWindow();
}

B_Win.js

import * as path from "path";
import { BrowserWindow } from "electron";
(async () => {
    let win = new BrowserWindow({
        webPreferences: {
            preload: path.join(__dirname, '../preload/b.js')
        }
    });
    await win.loadURL("https://www.zhipin.com");
})();

Then the main window can be opened normally, but error occurred when execute openB() to open the b window in main process.

 [Error: Cannot find module './loader'
Require stack:
- D:\project\boss\electron\out\main\index.js
- D:\project\boss\electron\node_modules\electron\dist\resources\default_app.asar\main.js
- ]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions