如何在Playwright框架中严格匹配类名选择元素?
在Playwright中精准定位仅含指定类名的元素
你的问题在于.target选择器会匹配所有包含target类的元素,不管元素是否还有其他类(比如target--disabled),所以需要用更精准的选择器来过滤。
方法一:严格匹配class属性值
使用CSS属性选择器[class="target"],它会精准匹配class属性恰好等于target的元素,完全符合你的需求:
const element = page.locator('li[class="target"]').first();
方法二:排除指定类的元素
如果后续元素可能新增其他类,但你只需要排除带target--disabled的,也可以用:not()伪类来过滤:
const element = page.locator('li.target:not(.target--disabled)').first();
两种方法都能定位到你需要的那个仅含target类的<li>元素,根据实际场景选择即可。
内容的提问来源于stack exchange,提问作者Alex Lebedev
相关产品推荐
相关产品推荐

