如何关闭Playwright TypeScript getByRole方法的大小写不敏感正则?
解决Playwright getByRole定位器的大小写敏感匹配问题
Playwright的getByRole定位器默认对name参数使用不区分大小写的正则匹配(报错信息里的name="Don't know"i末尾的i就是不区分大小写的标志),这也是你同时匹配到两个复选框的原因。
要关闭大小写不敏感,只需将name参数改为不带i标志的正则表达式,即可启用严格的大小写匹配:
修改后的代码示例
正则字面量形式
dontKnowCheckbox: Locator = this.page.getByRole('checkbox', { name: /Don't know/ });
RegExp构造函数形式(适合动态生成匹配规则的场景)
dontKnowCheckbox: Locator = this.page.getByRole('checkbox', { name: new RegExp("Don't know") });
以上两种写法都会严格匹配文本为Don't know的复选框,不会匹配大小写不同的Don't Know,从而避免严格模式违规。
如果需要进一步精确匹配,还可以添加exact: true参数,但针对你的场景,仅调整正则的大小写敏感规则就足够解决问题。
内容的提问来源于stack exchange,提问作者Jeavo
相关产品推荐
相关产品推荐

