You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 03:31:35