我必须浏览一个由框架构建的网站,以及一种特殊的雪花"
它最多包含3个iframe,但只有一个是#34;有效的"其他设置为display:none。 每当我从一个页面移动到另一个页面时,新页面将被加载到另一个iframe中。
现在,如果我想访问新活动iframe中的元素,我会收到错误"找不到元素"
使用Webdriver我通过执行以下操作解决了问题
WebElement currentFrame = _driver.findElement(By
.xpath("//iframe[not(contains(@style,'display: none'))]"));
_driver.switchTo().frame(currentFrame);
....
Driver.SwitchTo().DefaultContent();
....
WebElement currentFrame = _driver.findElement(By
.xpath("//iframe[not(contains(@style,'display: none'))]"));
_driver.switchTo().frame(currentFrame);
Command: selectFrame
Target: //iframe[not(contains(@style,'display: none'))]
但此时我被卡住了。 如果我去点击命令序列我自己一切都很好,但当我尝试做整个测试用例时,它没有找到新iframe中的任何元素我甚至试图暂停,等待10秒以防万一新的框架还没有完成加载,但这没有任何区别。
答案 0 :(得分:0)
我似乎只需执行以下操作即可切换到默认内容:
Command :selectWindow
没有目标,没有价值