Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以选择包含h1的锚定标记,该h1包含文本“1”;参观现场;?_Javascript_Jquery_Chai_Cypress - Fatal编程技术网

Javascript 是否可以选择包含h1的锚定标记,该h1包含文本“1”;参观现场;?

Javascript 是否可以选择包含h1的锚定标记,该h1包含文本“1”;参观现场;?,javascript,jquery,chai,cypress,Javascript,Jquery,Chai,Cypress,我正在使用Cypress.io测试我的初创公司的网站,并希望选择一个特定的锚定标签 <a href="/blablabla" target="_blank" rel="noopener noreferrer canonical"> <h1>Visit Site</h1> </a> 但是,该锚定标记没有任何我可以用来识别它的唯一属性,因此我想使用包含文本“访问站点”的childh1标记来帮助识别锚定标记 <a href="/blablab

我正在使用Cypress.io测试我的初创公司的网站,并希望选择一个特定的锚定标签

<a href="/blablabla" target="_blank" rel="noopener noreferrer canonical">
  <h1>Visit Site</h1>
</a>
但是,该锚定标记没有任何我可以用来识别它的唯一属性,因此我想使用包含文本“访问站点”的child
h1
标记来帮助识别锚定标记

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

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


我的问题是,我不知道是否可以根据元素是否包含特定文本的元素来选择元素。

您好,根据您的问题,我准备好了示例请检查此链接

$(文档).ready(函数(){
$(“a”)。每个功能(索引,元素){
让findHeading=$(elem).find(“h1:contains('Site')”);
如果(findHeading!=未定义)
{
控制台日志(“索引”+索引);
log(“Find H1”+$(findHeading.html());
}
})
})

您可以使用jQuery的包含选择器根据其中的文本查找所需的h1。一旦h1被找到,只需选择它的父对象,它将成为您的锚

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

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

例如。。。我阻止了链接的默认行为(
preventDefault()

因此,使用,您可以将包含特定文本的链接作为目标

它将针对所有匹配的元素。。。但在实践中,如果不迭代集合,则会得到第一个集合

在这里举个例子。。。它抛出已单击元素的父元素。所以没有问题。一切取决于你想做什么

然后。。。获取该目标的
parent()
,以获取锚定的
href
属性

$(“a h1:contains('Visit Site')”)。单击(函数(e){
e、 预防默认值();
console.log(“耶!”+$(this.parent().attr(“href”))
})

如果要使用Cypress命令(而不是jQuery),
cy.contains('a>h1','Visit Site').parent()
cy.contains(…)
生成
h1
.parent()
将焦点移回
a
,并将其生成到下一个链接的命令。