【发布时间】:2022-01-01 20:01:58
【问题描述】:
有人可以协助处理以下情况:
我必须检查 if 语句是否存在元素。由于不可能在 find 命令中使用 Xpath(使用 Xpath 运行时会引发语法错误)。
我的代码看起来:
cy.xpath(list)
.eq(index)
.then(($el1) => {
cy.get('body').then((body) => {
if (
body.find(
currentBase +
currentTitle[index] +
currentExtension
).length > 0
) {
...
其中 currentBase 是文本之前的 Xpath,currentText - 带有文本的元素,而 currentExtension 是连接以获取该文本元素下方的元素。 我不想使用这些类,因为它们是动态的(而且,在不久的将来不能用一些独特的属性来改变)
DOM 看起来:
也就是说,很容易找到标记为img的元素,但是用下面的CSS,它就不起作用了
#structures img[src*="/static/media/image"].$('..').$('..').$('..') div:nth-child(2)
我想要的是,在元素下方找到 div 并带有文本 Element One
我做错了什么? 或者赛普拉斯有没有其他方法可以一起使用 if 语句并在未找到元素时通过该步骤? 提前谢谢你
【问题讨论】:
标签: css-selectors concatenation cypress