From 4880fed7121b4edfa3b61a12047f4720972a19a2 Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Sat, 4 Apr 2026 05:17:29 +0800 Subject: [PATCH] fix(vishot-*,deps): update lock, incorrect button impl --- .../src/utils/selectors.ts | 24 +++++++++++++------ pnpm-lock.yaml | 6 +++++ 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/packages/vishot-runner-electron/src/utils/selectors.ts b/packages/vishot-runner-electron/src/utils/selectors.ts index 35a14d4a9..8a63623d2 100644 --- a/packages/vishot-runner-electron/src/utils/selectors.ts +++ b/packages/vishot-runner-electron/src/utils/selectors.ts @@ -5,12 +5,17 @@ function iconAttributeSelector(iconName: string): string { } async function clickControlButtonByIcon(page: Page, iconName: string): Promise { - const button = page.locator('button').filter({ - has: page.locator(iconAttributeSelector(iconName)), - }).last() + const button = page + .locator('button') + .filter({ + has: page.locator(iconAttributeSelector(iconName)), + }) + .last() - await button.waitFor({ state: 'visible', timeout: 15_000 }) + await button.waitFor({ state: 'visible', timeout: 20_000 }) + await button.hover() await button.click({ force: true }) + await button.hover() } export async function expandControlsIsland(page: Page): Promise { @@ -26,14 +31,19 @@ export async function openChatFromControlsIsland(page: Page): Promise { } export async function openHearingFromControlsIsland(page: Page): Promise { - const expandButton = page.locator('button').filter({ - has: page.locator(iconAttributeSelector('i-solar:alt-arrow-up-line-duotone')), - }).last() + const expandButton = page + .locator('button') + .filter({ + has: page.locator(iconAttributeSelector('i-solar:alt-arrow-up-line-duotone')), + }) + .last() const hearingButton = expandButton.locator('xpath=ancestor::button[1]/following::button[1]').first() await hearingButton.waitFor({ state: 'visible', timeout: 15_000 }) + await hearingButton.hover() await hearingButton.click({ force: true }) + await hearingButton.hover() await page.getByText('Input device').waitFor({ state: 'visible', timeout: 15_000 }) return page diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6bafb8574..8e0d586ef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2515,6 +2515,9 @@ importers: packages/scenarios-stage-tamagotchi-browser: dependencies: + '@moeru/std': + specifier: 'catalog:' + version: 0.1.0-beta.17 '@proj-airi/vishot-runner-browser': specifier: workspace:^ version: link:../vishot-runner-browser @@ -2549,6 +2552,9 @@ importers: packages/scenarios-stage-tamagotchi-electron: dependencies: + '@moeru/std': + specifier: 'catalog:' + version: 0.1.0-beta.17 '@proj-airi/vishot-runner-electron': specifier: workspace:^ version: link:../vishot-runner-electron