我是selenium的新手,想要了解如何识别iframe中的元素或弹出窗口。 在我们的应用程序中,当我们单击按钮时,会在同一页面上加载弹出窗口或iframe。 在该页面上,我需要单击一个按钮,然后继续我的其他操作。 在录制时,selenium不会等待弹出窗口或iframe加载。它将转到下一个命令并失败,因为由于iframe / popup仍在加载,因此尚未找到该对象。
应该使用wait命令等待它加载或使用一些select命令。
我很困惑。我尝试了几个命令,例如waitforpopup,selectframe,waitforframetoload,但是无法理解。
对此的任何帮助都会很棒!
提前致谢
答案 0 :(得分:4)
这是一个对我有用的解决方案:
<强>方案强>:
<iframe id="iframeId" />
<div id="divElement"></div>
<强>解决方案强>:
(命令&gt; C,目标&gt; T,值&gt; V)如果我没有包含,则意味着将其留空
答案 1 :(得分:0)
需要输入手动IDE命令才能完成脚本。
要识别弹出窗口中的元素,您需要使用&#39; selectPopup&#39;命令将重点放在弹出窗口中。
要识别iframe中的元素,请使用&#39; selectFrame&#39;命令并将iframe id输入Target参数。使用&#39; selectFrame&#39;没有目标ID的命令可能会默默地失败,具体取决于页面结构(可能有多个iframe等)。
希望这些信息有所帮助。
答案 2 :(得分:0)
这里有几个答案,任何人都可以获益,但有时iframe id可以是动态的,因为来自特定链接的不同内容(例如付费或试用的不同订阅等)并且给目标提供静态ID会失败你的考试。最好的情况是使用iframe标签的静态属性,如class属性,这样您就可以每次运行脚本。