【发布时间】:2013-12-05 13:33:11
【问题描述】:
我想使用 node-js 中的 selenium webdriver 模块在 iframe 中选择一个嵌套 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 的源代码。
【问题讨论】:
-
在切换到
secondframe之前尝试切换回默认内容。 -
同时获得
NoSuchFrameError。
标签: javascript node.js iframe selenium