首页 > 解决方案 > 是否可以选择一个包含 h1 的锚标记,其中包含文本“访问站点”?

问题描述

我正在使用 Cypress.io 来测试我的初创公司的网站,并想选择一个特定的锚标记。

但是,该锚标记没有任何可以用来识别它的唯一属性,因此我想使用h1包含文本“访问站点”的子标记来帮助识别锚标记。

<a href="/blablabla" target="_blank" rel="noopener noreferrer canonical">
  <h1>Visit Site</h1>
</a>

我将无法使用该href属性来帮助识别锚标记,因为笔试将用于具有相同结构但内容不同的其他页面。

我的问题是我不知道是否可以根据元素是否包含某个文本的元素来选择它。

标签: javascriptjquerychaicypress

解决方案


您可以使用 jQuery 的 contains 选择器根据其中的文本找到所需的 h1。找到 h1 后,只需选择其父级作为您的锚点。

let targetH1 = $('a h1:contains("Visit Site")');

console.log(targetH1.parent()); // this will give you the anchor element

推荐阅读