在Playwright中获取选择器classList时遇Target closed错误,求解决
Playwright测试React应用时遭遇"Target closed"错误
刚上手用Playwright测试React应用,试过StackOverflow和GitHub上的通用解决方案都无效。
我的测试代码如下:
import {expect, test} from "@playwright/test"; test.describe('App general functionality', () => { test('Theme switches normally', async ({page}) => { const app = await page.getByTestId('app'); const themeSwitch = await page.getByTestId('themeSwitch'); const classList = await app.evaluate(node => { console.log(node); }); // const classList = await app.getAttribute('class'); }); });
我已经安装了支持toHaveClass的expect类型扩展,且确认app元素存在(控制台能输出它的定位器和内部元素,app是应用根div的测试ID),但始终出现以下错误:
locator.evaluate: Target closed =========================== logs =========================== waiting for getByTestId('app') ============================================================
错误触发于这一行:
const classList = await app.evaluate // or app.getAttribute('class')
应用中对应的div代码:
<div data-test-id={'app'} className={`app ${appStore.isDarkTheme ? 'dark' : 'light'}`}>
内容的提问来源于stack exchange,提问作者Animus
相关产品推荐
相关产品推荐

