selenium - 为 RobotFramework RIDE 获取 iFrame 内元素的 xpath
问题描述
我正在尝试通过 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。
解决方案
iframe
是主 HTML DOM 中的一个元素,它包含自己的嵌入式 HTML DOM。您不需要iframe
用作上下文节点来查找框架内的表单,但您需要切换到该 iframe
select frame id=fraModalPopup
能够处理嵌入式 HTML DOM 中的元素(无需添加"//iframe"
到 XPath)
xpath=//form[@id='aspnetForm']
推荐阅读
- postgresql - 在 postgresql 中指定 Prisma 的数据库模式
- java - 请求 http://localhost:4080/testAPI/rest/hello 后未找到 HTTP 状态 404
- postgresql - 组合来自不同表的聚合查询输出
- node.js - 不和谐机器人的受保护执行
- python - 如果还没有静音角色,如何使静音命令添加静音角色?(discord.py)
- micronaut - Micronaut:BootstrapContext 不包含 BootstrapPropertySourceLocator bean
- postgresql - 在 Postgres 中按月和年排序
- winapi - 从 Win32 启动 .exe 文件
- javascript - 没有在角度 oktasignin 小部件中获取 okta 组
- xcode - 将列添加到现有文件