<Iframe1>
<Iframe2>
<Iframe3> </iframe3>
<iframe4>
<input> </input> ----- on click of this input will launch new
iframe5
<input2></input2> --- then need to perform action on this input
</iframe4>
</Iframe2>
</iframe1>
新的iframe
<Iframe5>
..
..
</iframe5>
嗨我有基于POM模型的selenium java代码。 我的班级创建者将对上述输入字段执行操作。 此类包含当前子iframe对象,其余所有父iframe都存在于其他类
中1.点击第一个输入启动新框架即iframe5 ,该框架不属于我能够对其执行操作的任何父级
2.但我想处理回到嵌套子iframe以对下一个输入字段执行操作的过程
我现在可以通过再次调用所有iframe来完成此操作。但我想要战略性地处理,因为我在所有页面上都有这个功能,并且不想编写不必要的代码
Class people
{
Switchto(Iframe1)
}
class peoplesearch extends People
{
switchto(Iframe2)
}
class createperson
{
switchto(Iframe4)
}
class control
{
switchto(defaultcontent)
switchto(ifrmae5)
switchto(defaultcontent)
}
答案 0 :(得分:0)
根据 HTML 您已共享和代码试用,您似乎已经浏览了多个嵌套的<iframe>
标记。
现在,您已经在 iframe5 上执行了操作,现在想要回到嵌套的子iframe ,或许您必须找出确切的<iframe>
标记所需元素的存在位置,并相应地切换到相关的<iframe>
。你不必通过再次调用所有iframe 来实现这一点。根据最佳实践,您需要在调用Switchto()
之前引导 WebDriverWait 。
您可以在此处找到有关How to properly wait for a frame to be available in python-selenium?
的详细讨论