2013-12-18 7 views
0

У меня есть IFrame, как это:Как выйти из iframe?

<div id="frameDiv" style="clear: both; border: 1px solid gray;"> 
<iframe id="reportFrame" width="100%" frameborder="0" style="height: 800px; fit: fill; fit-position: fill; overflow-y: scroll; overflow-x: scroll" marginwidth="0" marginheight="0" src="/InvalidData.html"/> 
</div> 

Я использую, чтобы идти к IFRAME:

driver.switchTo().frame("reportFrame"); 

Теперь я могу делать операции в этом кадре. Я не могу выполнять никаких операций за рамкой, Мне нужно выйти из рамки. Не работает следующее:

driver.switchTo().defaultContent(); 

сторона, которую элементы рамки не идентифицируют. Помогите мне выйти из рамки. Так что я могу идентифицировать элементы.

+0

Может быть есть по крайней мере еще один IFrame на странице, кроме 'reportFrame' и элемент, с которым вы пытаетесь взаимодействовать, вероятно, будет в другом iframe. – TDHM

ответ

1

перед переключением на раме получить дескриптор родительского окна, используя

parentWindow = Driver.getWindowHandle(); 

Теперь переключитесь на IFRAME и делать операцию.

снова, чтобы вернуться к использованию родительского окна

Driver.switchTo().window(parentWindow). 
+0

Это не работает для меня .. –

+0

Вы получаете сообщение об ошибке? –

+0

Невозможно идентифицировать элемент на уровне окна, он не перемещается из кадра в окно. –

0

Вы можете переключиться обратно в главное окно с помощью

driver.switchTo().window("name of the main window")