【问题标题】:Need to find exact order of elements within <span> and </span>需要在 <span> 和 </span> 中找到元素的确切顺序
【发布时间】:2021-08-09 06:00:57
【问题描述】:

我正在寻求帮助。参考下面部分DOM对象的截图(为了安全,我已经屏蔽了实际的URL)

  • 有两个“跨度”部分
  • 在第一个中,Class 在文本之前(呈现“
  • 在第二个中,Class 跟随文本(呈现“Next >”)

问题:我想确保在第一种情况下,Class 文本之前,在第二种情况下,Class 文本之后。我是不是太有野心了? :)

在我的产品中报告了一个问题,即“

【问题讨论】:

  • 你用什么代码来获取文本?
  • 我什至不知道如何访问 SPAN 的子元素。
  • 您尝试了哪些方法,但没有成功?根据我对您发布的内容的了解,您应该需要任何特殊技术来获取这些元素。

标签: java html selenium


【解决方案1】:

这似乎适用于您的示例。要像您的第一个示例一样确认订单,请尝试

if (spanElement.getAttribute("innerHTML").endsWith(" Previous")) {
    // do what you want
};

对于你的第二个例子,

if (spanElement.getAttribute("innerHTML").startsWith("Next ")) {
    // do what you want
};

虽然这可能不足以确保您想要什么,但我不确定。

【讨论】:

  • 我认为问题在于previous OP 希望确保HTML 层次结构是//span/i&lt;previous_text&gt;next 它的//span&lt;next_text&gt;/i....基本上是i 的位置元素,在文本之前和之后。反正我就是这么读的。这是一个奇怪的测试
  • 我想我理解同样的事情......但是我认为&lt;text&gt; 部分和i 元素是“兄弟姐妹”,即使&lt;text&gt; 部分不是元素。正因为如此,我认为如果不以某种方式解析跨度的整个 innerHTML 就无法验证 HTML 结构,这似乎是最简单的方法。
  • 您的理解是正确的……C. Peck,您的解决方案奏效了。感谢您的快速帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-11
  • 2020-11-22
  • 1970-01-01
  • 2021-11-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多