select嵌套的iframe – selenium / javascript / node-js

我想用node-js中的selenium webdriver模块在iframe中select一个嵌套的iframe。

例如:

<iframe id="firstframe"> <div id="firstdiv"></div> <iframe id="secondframe"> <div id="seconddiv"></div> </iframe> </iframe> 

对于node-js部分:

 driver.switchTo().defaultContent(); driver.switchTo().frame("firstframe"); // --> works driver.switchTo().frame("secondframe"); // --> NoSuchFrameError iframes = driver.findElements(webdriver.By.tagName('iframe')).then(function(elements){ console.log(elements.length); // --> if I put this code before the switch to first frame output: 1, if I put it after output: 0) }); 

我尝试使用索引号,但这也失败了。

编辑:

好吧,我想通了,但我的答案由于某种原因被用户@casparOne删除。 如果有人仍然想知道这里的问题是什么:

我的代码上面的作品,只是不在本地。 Chrome的安全设置拒绝在本地文件的iframe中进行更深层次的设置。 因此它甚至没有显示iframe的源代码。

几次之前,我做过这样的事情。 尝试在swtich帧之间放置1秒暂停。 (有时候)你需要给Selenium(或者浏览器)足够的时间来加载DOM DOM,然后再尝试另一个开关。