javascript - 赛普拉斯:使用另一个元素作为参考从表中获取一个元素
问题描述
好的,这就是这种情况。我有一个网页,我在其中向表格添加元素,当我添加该元素时,网页会自动为其分配一个数字。
我的问题是:我怎样才能得到那个号码?因为它是自动生成的,所以我无法知道它会是哪个数字。表是这样的:
名称 编号
橙 35
苹果 452
柠檬 77
和代码:
<tr data-id="77">
<td class="col col-md-5 text-left">
Lemon
</td>
<td class="col col-md-5 text-left">
77
</td>
</tr>
如您所见,数字 77 没有唯一标识符,当我创建 Lemon 时,我无法知道该数字是什么。
我的第一个想法是获取左侧的元素,即 Lemon,因为我知道它的名称(我自己给出了它的名称,使用 .type() 然后尝试获取 Lemon 右侧的元素,这将是一个我不知道它会是什么数字的数字。
那可能吗?有更好的方法吗?
解决方案
在不知道确切的数字内容是什么或包含元素的显着特征的情况下,您将需要相对选择命令之一,
cy.contains('td', 'Lemon')
.siblings().eq(0)
.invoke('text')
.then(lemonText => {
const lemonNumber = +lemonText.trim();
// do something with lemonNumber
})
cy.contains('td', 'Lemon')
.next('td')
.invoke('text')
.then(lemonText => {
const lemonNumber = +lemonText.trim();
// do something with lemonNumber
})
推荐阅读
- r - 向主箱线图中的辅助箱添加均值
- excel - 打开 Access 数据库连接/使用 Access Runtime 时 Excel VBA 过程崩溃
- python - Fetch row-index and write it into dataframe
- c# - 如何修复 InvalidOperationException:传递给 ViewDataDictionary 的模型项是类型
- c++ - C++ prevent program executed manually
- excel - 如何在excel中重定向不同的工作簿特定工作表?
- laravel - Laravel - Sort array by string value first and then date
- javascript - 将相同的功能应用于另一个列表
- java - Why is printstacktrace() of exception method does not print to console when ever called?
- javascript - 这两种在 Javascript 对象中编写方法的方法有什么区别?