剧作家 - 路由器链接的定位器

Playwright - Locator for routerlink

页面中有一个按钮,语法如下

<div _ngcontent-cnw-c181="" class="col text-center ng-star-inserted">
<p _ngcontent-cnw-c181="" class="text-primary font-weight-bold">
Click the button below 
</p>
<button _ngcontent-cnw-c181="" type="button" routerlink="/web/click" class="btn btn-primary" tabindex="0" ng-reflect-router-link="/web/click">
<i _ngcontent-cnw-c181="" aria-hidden="true" class="fa fa-check-circle"></i>
Click Here
</button>
</div>

但是当我尝试使用定位器对其进行本地化时,它 returns 出现错误:Microsoft.Playwright.PlaywrightException: 'Unknown engine "routerlink" while parsing selector routerlink=/web/click'

Page.Locator("routerlink=/web/click").ClickAsync();

我找到的唯一解决方案是搜索 "text=Click here",但我想改用 "routerlink" 关键字,因为文本将来可能会更频繁地更改。

这应该有效:Page.Locator("//button[@routerlink='/web/click']").ClickAsync();