首页 > 解决方案 > TestCafe - 如何使用类名获取带有标签“th”的表的索引号

问题描述

我正在尝试获取带有正文列的链接表标题列,因为这些列是可配置的并且顺序不断变化。唯一的识别方法是只在标题部分给出类名。如果我将使用类名获取索引号,那么我可以使用该索引从正文中获取值。我可以使用 getElementsByTag('th').nth(i).classNames 获取类名。有没有办法实现这样的事情 - getElementsByClassName('.column-name').index ?

这是我的桌子的样子——

<tr>
    <th class="column-name" >
        <span>Name</span>
    </th>
    <th class="spark-text-center column-age">
        <span>Age</span>
    </th>
    <th class="spark-text-center column-gender">
        <span>Gender</span>
    </th>
    <th class="spark-text-center column-status">
        <span>Status</span>
    </th>
</tr>

在 Selector 文件中 - // 导出 const SELECTOR_TABLE_HEADER_CLASS = class => Selector( thead tr th.${class});

在测试中 -

console.log(等待 SELECTOR_TABLE_HEADER_CLASS('column-name').index); // 给出未定义

标签: javascriptheadertestcafegetelementsbyclassnamegetelementsbytagname

解决方案


默认情况下不支持您需要的功能。您可以使用自定义属性和方法扩展选择器。请参考这个这个线程的例子。


推荐阅读