如何切换iframe InternJS

时间:2015-07-01 16:58:09

标签: javascript selenium iframe intern leadfoot

我需要切换到具有动态名称和ID的iframe。

<iframe name="easyXDM_1435765828615" id="easyXDM_1435765828615">...</iframe>

我注意到LeadFoot有一个switchToFrame()函数,但是当我传递一个从find()返回的元素时,我收到错误“MoveTargetOutOfBounds:POST http ... / moveto / {”element“ :“16”}元素内的偏移量无法滚动到视图“。

有没有更好的方法来使用execute()和一些javascript,或者如何使switchToFrame()工作?

1 个答案:

答案 0 :(得分:0)

根据您在页面上设置iframe的方式,您可以尝试以下方式:

    .switchToFrame(null)
    .findAllByClassName('iframe')
    .then(
      function(iframes) {
         new remote.constructor(remote.session)
        .switchToFrame(iframes[iframes.length-1])
      }
    )

这假设您要切换到的iframe是最后找到的,这显然是一个很大的假设。如果动态创建的iframe每次都以相同的顺序出现,你或许可以调整它。