javascript - .elements() 在 Nightwatch 中如何工作?

标签 javascript automated-tests nightwatch.js nightwatch

考虑到我有多个 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'
}
  1. “abcd-1234-qwer-0987”到底是什么?此 session ID 属于某种内容吗?它会发生变化吗?
  2. 获取特定元素的最佳方式是什么?因为我猜我的方法是错误的: elements.value[1]['abcd-1234-qwer-0987']

最佳答案

当我运行 browser.elements 并记录 elements.value 数组中的条目时,我得到类似 { ELEMENT: '5' }.因此,回答您的问题:

  1. What is exactly 'abcd-1234-qwer-0987', is this session id kind of stuff and does it change?

可能是某种 session ID,但我不确定。无论它是什么,您所做的事情都不需要它。

  1. 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/

相关文章:

html - Nightwatch - 使用按钮文本名称单击按钮

javascript - Google 图表 - 工具提示中的图表

javascript - 仅包含页面源中的 <script> 标记

javascript - fancybox inline 显示无法加载请求的内容。请稍后再试

unit-testing - 使用 pytest 测试 Flask 应用程序时找不到 404

javascript - Night-watch.js 安装错误?

javascript - 当用户点击按钮时如何显示上传的图像?

python - 如何为模块内的所有测试定义设置和拆除

java - 使用 Winium 实现 "Chrome Legacy Window"(Chromium) 的自动化

javascript - 如何使用 browsermob-proxy 和 nightwatch.js 监控 HTTP 调用?