首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何单击包含特定文本列的表行中的元素?

如何单击包含特定文本列的表行中的元素?
EN

Stack Overflow用户
提问于 2019-06-02 13:49:27
回答 2查看 761关注 0票数 2

我有一个包含多行的表。我需要能够找到包含特定文本的列,然后单击该行的delete按钮。

我可以通过它的userName找到行,但是当我试图说“单击它的删除按钮”时,它报告说它找不到删除按钮的元素。

表的代码:

代码语言:javascript
运行
AI代码解释
复制
<tbody>
    <tr>
        <td class="align-middle">77716d61-32ea-4bf3-a2bd-e48645d049ee</td>
        <td class="align-middle">asdf</td>
        <td class="align-middle">asdf@asdf.com</td>
        <td class="align-middle">
            <a class="btn btn-danger" href="/Identity/UserDelete/77716d61-32ea-4bf3-a2bd-e48645d049ee"><span class="oi oi-x"></span></a>
        </td>
</tbody>

我试过了:

代码语言:javascript
运行
AI代码解释
复制
.click(Selector('tbody').find('td').withText(name).find('.btn.btn-danger'))

和:

代码语言:javascript
运行
AI代码解释
复制
.click(Selector('tbody').find('td').withText(name).find('td').find('a').find('.btn.btn-danger'))

以及与兄弟姐妹和孩子一起玩,但我不太理解这些。

预期:单击该表的行的delete按钮。

实际:在找到包含UserName的列之后,它不想继续遍历该行来单击delete按钮。

代码语言:javascript
运行
AI代码解释
复制
The specified selector does not match any element in the DOM tree.

   | Selector('tbody')
   |   .find('td')
   |   .withText('Automationieweg')
 > |   .find('td')
   |   .find('a')
   |   .find('.btn.btn-danger')
EN

回答 2

Stack Overflow用户

发布于 2019-06-02 14:07:55

我对testcafe的.sibling进行了更仔细的研究,并提出了以下解决方案:

代码语言:javascript
运行
AI代码解释
复制
.click(Selector('tbody').find('td').withText(name).sibling('td').find('a').nth(1))

这将找到具有我要查找的名称的行,从具有'a‘子元素的父'tr’中获取'td‘的兄弟元素,并单击行中的第二个元素(即delete按钮)。

票数 2
EN

Stack Overflow用户

发布于 2019-06-02 14:02:07

当你得到你的username元素时,你必须找到带有delete按钮的公共父元素,并在父元素中找到它。这在javascript中非常简单。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56415647

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文