【问题标题】:How to select a link element in mixed content?如何在混合内容中选择链接元素?
【发布时间】:2017-12-18 13:40:50
【问题描述】:

我需要选择一个混合在其他文本中的 a 元素:

 User xyz Successfully created

HTML

<span>
  User
  <a class="link" href="/users/zyx">xyz</a>
  Successfully created
</span>

XPath

到目前为止,这是我尝试过的:

//*[@class='toast-message']//*[contains(text(),'User')]//*[contains(text(),'xyz')]/following-sibling::*[contains(text(), 'Successfully created')]

我需要在a 标记之后包含剩余的Successfully created 文本。

【问题讨论】:

  • 你应该提供一些尝试并阅读一些教程w3schools.com/xml/xpath_intro.asp,因为那样你就永远学不会它。为了你的目标,试试"//a[@class='link' and contains(text(), 'Successfully created')]"
  • 我用我目前得到的@Edwin更新了它
  • 反对票过多。 OP 已在前半小时内回复了 cmets 和deserves an answer 中提出的反对意见。一些反对票的逆转和可能的一些赞成票以恢复平衡怎么样?谢谢。
  • MielYan:根据@Andersson 的建议,我已经更新了您问题的措辞和格式,希望能让未来的读者更清楚。如果我以任何方式歪曲了您的意图,请随时调整。谢谢。
  • @kjhughes 很公平,我撤回了我的反对票,因为 OP 用实际文本替换了代码图像。最初提出的问题不完整,但现在好多了。

标签: java selenium xpath selenium-webdriver selenium-chromedriver


【解决方案1】:

这个 XPath,

//span[normalize-space() = 'User xyz Successfully created']/a

将选择 a 元素,其父 span 的空间标准化字符串值为目标文本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-08
    • 2013-05-18
    • 2020-05-15
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多