Javascript 如何切换iFrame InternJS
我需要切换到具有动态名称和id的iframeJavascript 如何切换iFrame InternJS,javascript,selenium,iframe,intern,leadfoot,Javascript,Selenium,Iframe,Intern,Leadfoot,我需要切换到具有动态名称和id的iframe <iframe name="easyXDM_1435765828615" id="easyXDM_1435765828615">...</iframe> 。。。 我注意到LeadFoot有一个函数,但当我传递一个从中返回的元素时,我得到错误“MoveTargetOutOfBounds:POST http…/moveto/{“element”:“16”}元素内的偏移量无法滚动到视图中” 有没有更好的方法使用execute()
<iframe name="easyXDM_1435765828615" id="easyXDM_1435765828615">...</iframe>
。。。
我注意到LeadFoot有一个函数,但当我传递一个从中返回的元素时,我得到错误“MoveTargetOutOfBounds:POST http…/moveto/{“element”:“16”}元素内的偏移量无法滚动到视图中”
有没有更好的方法使用execute()和一些javascript来实现这一点,或者如何使switchToFrame()工作?根据您的iFrame在页面上的设置方式,您可以尝试以下操作:
.switchToFrame(null)
.findAllByClassName('iframe')
.then(
function(iframes) {
new remote.constructor(remote.session)
.switchToFrame(iframes[iframes.length-1])
}
)
这假设您要切换到的iframe是最后一个找到的,这显然是一个很大的假设。但是,如果动态创建的iFrame每次都以相同的顺序出现,则可以对此进行调整。根据iFrame在页面上的设置方式,您可以尝试以下操作:
.switchToFrame(null)
.findAllByClassName('iframe')
.then(
function(iframes) {
new remote.constructor(remote.session)
.switchToFrame(iframes[iframes.length-1])
}
)
这假设您要切换到的iframe是最后一个找到的,这显然是一个很大的假设。但是,如果动态创建的iFrame每次都以相同的顺序出现,您可能可以对此进行调整。如果您将
easyXDM_1435765828615
字符串传递到switchToFrame()
?或者,id是动态生成的吗?它是动态的。目前,我正在使用xpath/*[contains(@id,“easyXDM”)查找iframe。好的,另一个选项:指定表单的索引-例如switchToFrame(1)
。当我传递element.elementId或1时,它将超时。Side note element.elementId=15,但我的元素原始代码错误:16??如果将easyXDM_1435765828615
字符串传递到switchToFrame()
,该怎么办?或者,id是动态生成的吗?它是动态的。目前,我正在使用xpath/*[contains(@id,“easyXDM”)查找iframe。好的,另一个选项:指定表单的索引-例如switchToFrame(1)
。当我传递element.elementId或1时,它将超时。Side note element.elementId=15,但我的原始代码与element:16存在错误??