在 Cypress 中优化选择器
Posted
技术标签:
【中文标题】在 Cypress 中优化选择器【英文标题】:Refining selectors in Cypress 【发布时间】:2020-07-29 21:55:21 【问题描述】:我正在尝试学习使用赛普拉斯的选择器的最佳实践。
我有一个元素隐藏在一个框架内的许多表中。这是一个我无法控制的应用程序,因此无法为赛普拉斯添加自定义选择器。完整的Xpath如下:
/html/body/table/tbody/tr[1]/td[2]/table/tbody/tr[4]/td/table/tbody/tr/td/table/tbody/tr/td/a
在a
标记内是我希望在其上添加click()
的链接。
<a class="menubuttontext" style="cursor:pointer" href="javascript:menuClick(1)">Men's Apparel</a>
有人可以提供“最佳”(或至少相对有弹性)的选择器吗?我不希望回到添加XPath库 - 我从多年开始与硒一样,如此学习。我不清楚我可以将多少个属性链接在一起,甚至如何链接 - 我正在研究文档,但非常感谢一些帮助。
【问题讨论】:
【参考方案1】:如果您可以依赖链接元素的文本内容,您可以尝试使用 Cypress 命令cy.contains()
:
cy.contains('a.menubuttontext', "Men's Apparel").click();
您还可以对第二个参数使用正则表达式来微调您的搜索。
【讨论】:
以上是关于在 Cypress 中优化选择器的主要内容,如果未能解决你的问题,请参考以下文章