考虑到我有多个 tr,我想选择一个并通过单击与其绑定(bind)的编辑按钮来编辑其中的值。
我正在做这样的事情:
browser.elements('css selector', '#someId tr', elements => {
elements.value.forEach(val => {
console.log(val)
}
我得到了这样的东西:
{
'abcd-1234-qwer-0987': 'some id'
},
{
'abcd-1234-qwer-0987': 'some other id'
}
- “abcd-1234-qwer-0987”到底是什么?此 session ID 属于某种内容吗?它会发生变化吗?
- 获取特定元素的最佳方式是什么?因为我猜我的方法是错误的:
elements.value[1]['abcd-1234-qwer-0987']
最佳答案
当我运行 browser.elements
并记录 elements.value
数组中的条目时,我得到类似 { ELEMENT: '5' }
.因此,回答您的问题:
- What is exactly 'abcd-1234-qwer-0987', is this session id kind of stuff and does it change?
可能是某种 session ID,但我不确定。无论它是什么,您所做的事情都不需要它。
- What is the best way to grab particular element?
如果我尝试从几个相似的元素中选择一个,我的代码最终看起来像这样:
browser.elements('css selector', '#someId', result => {
// index is defined somewhere else
browser.elementIdClick(result.value[index].ELEMENT, () => {
// whatever you want to do after you click the element.
});
});
如果这对您不起作用,您可以分享您正在运行的操作系统和浏览器以及您的 nightwatch 配置文件吗?
关于javascript - .elements() 在 Nightwatch 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59171682/