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

如何在Microsoft Playwright中从定位器页面对象获取CSS字符串值

从Playwright定位器中提取CSS选择器字符串

Playwright的Locator对象本身不会直接暴露你传入的原始CSS选择器(你尝试的_selector是内部私有属性,行为不稳定且可能返回空值,官方也不建议依赖这类内部属性)。最可靠的解决方式是在页面对象类中单独存储选择器字符串,再基于它创建定位器。

修改后的页面对象类代码:

export class PageObjects{
    constructor(page){
        // 单独存储CSS选择器字符串
        this.obj1Selector = '#table tbody tr';
        // 基于存储的选择器创建定位器
        this.obj1 = page.locator(this.obj1Selector);
    }
}

测试代码中获取选择器:

test('Get Values and header names from a table', async({page})=> {
    const pageObjects = new PageObjects(page);
    // 直接获取预先存储的选择器字符串
    const cssString = pageObjects.obj1Selector;
    console.log(cssString); // 输出: #table tbody tr
})

为什么不推荐依赖内部属性?

  • _selector是Playwright的内部实现细节,没有公开API保证它的行为,后续版本可能随时改变。
  • 如果定位器是通过filter()、nth()等方法组合生成的,_selector可能无法返回你最初传入的原始选择器,甚至返回空值。

内容的提问来源于stack exchange,提问作者Scott Littleton

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 12:07:12