【发布时间】:2015-12-18 00:48:38
【问题描述】:
我在网页中有一个 iframe 元素,这个 iframe 代表一个 html 文档,它代表我生成的表单。我想编写一个自动化的 Selenium 脚本来验证这个文档的某些值。我设法通过手动复制 iframe“src”属性中的 URL,然后在这个新 URL 上运行 Selenium 关键字“Go To”来做到这一点。然后,我可以从此页面正常浏览 html 文档 DOM(当 iframe 是上一页的一部分时,我无法在 iframe 中浏览)。
我现在想让它稍微优雅一些,所以脚本会抓取这个“src”属性,然后将它放在一个变量中。通过这种方式,我将能够编写一个自动脚本来导航到任何 URL 的报告,而不必像在这种情况下那样手动复制 URL。
因此,在我的 Robot/Selenium 脚本中,我想创建一个从 iframe 标记中检索此 src 属性的变量。假设在一个简单的例子中,我的 iframe 的 id 是“my_frame”,我们用来抓取它,src 是“www.google.com”。
我可以使用 Selenium/robot 函数从提供的元素中检索特定属性,并将其作为变量返回吗?
例如
${URL} = Set Variable <Insert code here!>
【问题讨论】:
-
为什么需要去iframe,而不是仅仅使用页面上已经存在的iframe?您知道select frame 关键字吗?
-
我不知道这一点。所以我可以将 iframe xpath 传递给 Select Frame,然后我可以从框架内访问元素 xpath?
-
是的,没错。
-
好的,谢谢。尽管如此,我的 Selenium 仍然无法找到 iframe。如果没有我发布代码(不确定公司的政策...),您能想到 Selenium 无法读取 html 文档中的 iframe 的任何原因吗?
-
好吧,我搞定了,只要在 Sleep for 3 seconds 行,然后一切似乎都可以工作
标签: html selenium xpath robotframework