动态内容的选择器问题

Selector problems with dynamic content

我尝试 select 来自反应生成列表的列表项。 TestCafe Studio 将 select:

.click(Selector('#cat_220518').find('.cl-folder-list-element-arrow'))

但这是一个动态值,可能会随着下一个 运行 而改变。所以我尝试使用 to select 文本,但是失败了。我使用:

.click(Selector('span').withExactText('test1234').find('.cl-folder-list-element-arrow'))

该元素是一个箭头按钮,可以打开子项列表。但是点击永远不会发生。 Testcafe 正在等待元素 cl-folder-list-element-arrow。 从文档中,我读到“withExactText 将 select 元素的主节点。要查找必须在我眼中起作用。我的想法有什么问题?

页面上的元素是:

<div class="category-tree-node" id="cat_220518" style="padding-left: 2%; width: 98%;">
   <div class="category-tree-node-property" draggable="true">
      <div class="cl-drop-sensors top"></div>
          <div class="cl-folder-list-element-name">
              <div class="cl-folder-list-element-arrow"></div>
                 <span>test1234</span>
          </div>
              <div class="cl-drop-sensors bottom"></div>
   </div>
</div>

查找方法不起作用,因为选择器 returns 的 Selector('span').withExactText('test1234') 部分恰好是 span 元素。但是,如果将 'span' 替换为 'div',选择器应该可以正常工作: Selector('div').withExactText('test123').find('.cl-folder-list-element-arrow')

您还可以使用 category-tree-node class:

使选择器更安全

Selector('div.category-tree-node').withExactText('test1234').find('.cl-folder-list-element-arrow')

另请参阅:Selector Object