【问题标题】:XPATH of element with the same class name具有相同类名的元素的 XPATH
【发布时间】:2013-06-06 10:15:06
【问题描述】:

如何为同一个类名中的单个元素创建 Xpath?元素 ID(例如 id='some_item_12')不是恒定的(即下一次迭代时可能是 12,3 等),所以我不能使用元素的直接 xpath。

我使用了下面的那个,但它获取了该类中的第一个元素,例如。 //*[@id='someitem_12']/td[5]/div/a[1] 而我想要一个[2]

//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]

谢谢。

唱片

【问题讨论】:

  • 有很多方法可以做到 - 但是如果没有看到更多的 html 来理解结构,很难推荐任何一种方法。
  • 我将解释这个场景:我有一组可以添加到 Rule_list 的规则,并且创建的每个规则都有一个编辑和删除按钮。假设这就是需要自动化的东西,即。创建规则,对其进行编辑并在验证工作功能后将其删除。这里的问题是,每次我想删除规则时,按钮的名称“rule_input_id”都会不断变化,即。它是 rule_input_12 或 2 等,因此测试失败。你建议怎么做?

标签: selenium-webdriver selenium-rc selenium-ide


【解决方案1】:

看起来不错

您也可以使用 findElements 来返回所有元素的列表。 从那里你可以迭代结果列表并找到你正在寻找的元素

【讨论】:

    【解决方案2】:

    我想我已经做到了,但我确信有更好的方法来做到这一点。

    //*[contains(@id,'someitem_')]/a[2] //为我工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-17
      • 2017-07-27
      • 1970-01-01
      • 1970-01-01
      • 2014-07-04
      • 2014-09-05
      相关资源
      最近更新 更多