【问题标题】:Unable to locate element by div class无法按 div 类定位元素
【发布时间】:2019-04-20 05:32:46
【问题描述】:

尝试检查元素是否将焦点设置为使用通过文本匹配的类标头并出现无法定位元素的错误。我知道这个例子中的标题标题是“我的详细信息”,并且使用这个标题,如何定位元素?

<div class="attribute-group-header card__header">
<h3 class="attribute-group-title card__header-title">My Details</h3>
</div>


 Element should be focused      //div[contains(.,'My Details')

【问题讨论】:

  • 你可以试试:$(".attribute-group-header card__header .attribute-group-title card__header-title")
  • Nguyen - 你的意思是用这个替换包含里面的点吗?虽然没有用,同样的错误
  • @AnNguyen 在评论中给你的是一个 CSS 选择器——例如如果你尝试一下,定位器应该是css:.attribute-group-header card__header .attribute-group-title card__header-title。请记住,尽管类选择器往往会返回多个结果(页面中的许多元素可能具有相同的类)。
  • @Sarah 现在到底是什么问题?题目的题目是如何通过一个类定位,你继续没有通过它定位的元素,用它的文本试一下;定位器中的 xpath 看起来不错,它应该与元素匹配。那么你有什么问题 - 元素仍然没有找到它, kw Element should be focused 失败,因为它不在焦点上?请编辑您的问题,以便更清楚您面临的问题是什么。
  • 感谢托多的解释。你是对的,我的测试使用 css 选择器返回了多个对象,这就是我试图通过其文本定位元素的原因。

标签: robotframework selenium2library


【解决方案1】:

要在示例代码中找到h3,请使用此xpath //h3[contains(text(),'My Details')]

要在class 中找到具有card__headerdiv,请使用此xpath //div[contains(@class,'card__header')]

【讨论】:

  • Thanh - 现在使用 //h3[contains(text(),'My Details')] 我的元素已定位,但出现错误 - 元素未设置为焦点。我的测试试图验证当用户点击侧面菜单链接时,特定链接在页面上被访问。我似乎找不到正确的关键字来验证用户是否导航到链接部分。你有什么建议吗?
【解决方案2】:

这个关键字和 X-path 引用工作得很好。谢谢大家指导我找到解决方案

 Element should be enabled     //h3[contains(text(),'${MyLinkText}')]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    相关资源
    最近更新 更多