如何在Playwright中组合谓词筛选符合多文本条件的按钮
如何筛选同时包含指定文本的下的
你可以通过给:has()伪类添加多个匹配条件,精准定位同时包含"6:00pm"和"Alpha"子元素的<li>,再选中其下的<button>元素。
最终可用的选择器:
第一种写法(:has()内多条件并列):
li:has(div:text("6:00pm"), div:text("Alpha")) button
第二种写法(链式:has()筛选):
li:has(div:text("6:00pm")):has(div:text("Alpha")) button
逻辑说明:
- 第一种写法中,
:has()内部用逗号分隔两个匹配规则,要求目标<li>必须同时存在文本为"6:00pm"的<div>和文本为"Alpha"的<div>,不限制这两个<div>的顺序。 - 第二种写法是分步筛选:先找出所有包含"6:00pm"文本
<div>的<li>,再从这些结果里进一步筛选包含"Alpha"文本<div>的<li>,最后定位到这些<li>下的<button>。
这两种写法都能精准匹配你提供的HTML结构里第一个<li>中的<button>,不会选中第二个包含"Beta"的按钮。
内容的提问来源于stack exchange,提问作者theaudience
相关产品推荐
相关产品推荐

