使用querySelector按元素类型、data-id、disabled多属性选择时报选择器无效
错误原因
你当前使用的选择器button[data-id="purple-button" disabled]不符合CSS选择器语法:多个属性筛选条件需要独立包裹在方括号中,不能放置在同一个方括号内。
正确选择器写法
按照你需要的元素类型、data-id属性、disabled属性三个筛选条件,组合后的正确选择器为:
button[data-id="purple-button"][disabled]
各部分作用:
button:限定元素类型为按钮[data-id="purple-button"]:匹配data-id属性值等于purple-button的元素[disabled]:匹配存在disabled属性的元素(disabled是布尔属性,只要属性存在即可命中,无需额外设置属性值)
如果需要严格匹配你示例里的disabled=""的属性写法,也可以替换为button[data-id="purple-button"][disabled=""],匹配效果完全一致。
修改后的测试代码
直接替换原有选择器即可,修改后的代码为:
await page.evaluate( () => document.querySelector('button[data-id="purple-button"][disabled]') !== null, );
内容的提问来源于stack exchange,提问作者Marlo
相关产品推荐
相关产品推荐

