【问题标题】:How can i locate an element in my DOM when its class name is dynamic?当类名是动态的时,如何在我的 DOM 中定位元素?
【发布时间】:2019-11-15 01:23:29
【问题描述】:

我正在尝试在我的网页上定位和元素,但我想要定位的元素没有唯一的 ID 或任何类似的东西。我只有一个动态变化的类名。

我尝试使用 Absolute Xpath,但它太脆弱了。

<div class="frca889813467244cd88b375adbb9452c2s4" style="left:274.05px;top:141.75px;width:94.5px;height:18.9px;"><div 
    class="frca889813467244cd88b375adbb9452c2s11">6000.00</div></div>

每次我找到上面的元素时,我都想从上面的 DOM 中获取值(这里是 6000.00,但在其他测试中可能会改变)。

【问题讨论】:

  • 老实说,请您的开发人员添加静态 id 以使代码可测试。可测试性是一项功能!
  • 按照其他人的建议,粘贴(更多)页面代码。
  • 无法测试的代码还没有准备好生产。

标签: selenium selenium-webdriver dom xpath


【解决方案1】:

我建议使用绝对 XPath,我知道您提到过创建绝对 XPath 很困难。我想下面的注释会有所帮助

注意:- 如果您从 Firefox 复制 XPath,它通常会为您提供绝对 XPath,而另一侧的 chrome 将提供相对的

或者另一种方法是使用树中的另一个稳定元素创建 XPath

我希望这个锻炼适合你。如果您可以共享链接或检查显示完整 DOM 的元素快照,我可以为您提供更好的帮助。谢谢:-)

【讨论】:

  • 我曾尝试使用 Absolute,但在某些情况下会失败,而在某些情况下会成功。 :-|
  • 能否请您分享它失败的地方,以便我可以提供更好的帮助
猜你喜欢
  • 2018-01-30
  • 2021-09-02
  • 2020-03-27
  • 1970-01-01
  • 2020-03-24
  • 2021-07-27
  • 1970-01-01
  • 1970-01-01
  • 2018-11-29
相关资源
最近更新 更多