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

如何使用Playwright定位ID中包含斜杠(/)的页面元素

问题原因

Playwright的选择器解析器默认遵循CSS选择器语法规范,/属于语法保留字符,在简写ID选择器(以#开头的选择器)中直接出现时,解析器会将其判定为语法标记而非ID值的内容,因此抛出Unexpected token "/"的解析错误。示例代码中使用的#A/BC没有对特殊字符做符合规范的处理,无法被正确解析。

解决方法

任选以下一种写法修改定位代码即可:

  • 对特殊字符做CSS转义
    按照CSS规范,选择器中作为普通内容使用的保留字符,需要前置\做转义。由于Python字符串会将单个\识别为字符串转义符,代码中需要写双反斜杠,才能将正确的转义选择器传递给Playwright:
    element_info = '#A\\/BC'
    self.page.locator(element_info).click()
    
  • 使用属性选择器定位
    直接通过匹配元素id属性的方式定位,不需要额外转义特殊字符,写法容错率更高:
    element_info = '[id="A/BC"]'
    self.page.locator(element_info).click()
    

内容的提问来源于stack exchange,提问作者Tal Angel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 15:54:31