【问题标题】:Get the xpath of an element inside an iFrame for RobotFramework RIDE为 RobotFramework RIDE 获取 iFrame 内元素的 xpath
【发布时间】:2019-03-20 02:53:11
【问题描述】:

我正在尝试通过 iframe 中的 id 获取“表单”元素的 xpath。

在我查询时在 chrome xpath 插件中

//iframe[包含(@id,'fraModalPopup')]

它为我提供了 iframe,但是当我尝试从层次结构中获取任何内容时,它只会返回 null。例如如果我尝试做

//iframe[contains(@id,'fraModalPopup')]/html // 返回null

//iframe[contains(@id,'fraModalPopup')]/form[contains(@id='aspnetForm')] // 不确定它是否是正确的 xpath 语句 - 也返回 null

请任何人指导我如何抓住表单元素?我必须在 RIDE(机器人框架)中使用这个 xpath。

【问题讨论】:

  • 请将 XML 代码作为代码,not 作为图像。

标签: selenium xpath robotframework


【解决方案1】:

iframe 是主 HTML DOM 中的一个元素,它包含自己的嵌入式 HTML DOM。您不需要使用iframe 作为上下文节点来查找框架内的表单,但您需要切换到该 iframe

select frame  id=fraModalPopup

能够处理嵌入式 HTML DOM 中的元素(无需将 "//iframe" 添加到 XPath)

xpath=//form[@id='aspnetForm']

【讨论】:

  • 谢谢@Andersson。执行 xpath 之前的 iframe 选择已经完成了这项工作。仅对其他人而言,一旦使用所需的 iframe 完成工作,请不要忘记“取消选择框架”。请查看 Selenium2Library 文档的“选择框架”部分。
猜你喜欢
  • 2020-08-10
  • 2012-12-01
  • 2020-07-20
  • 2019-05-25
  • 2021-07-02
  • 1970-01-01
  • 2013-01-27
  • 1970-01-01
  • 2016-09-02
相关资源
最近更新 更多