剧作家 - 路由器链接的定位器
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();
页面中有一个按钮,语法如下
<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();