Чем отличается метод driver.switchTo (). ParentFrame () от метода driver.switchTo (). DefaultContent () в Selenium WebDriver? - PullRequest
0 голосов
/ 29 июня 2018

В чем разница между двумя способами:

driver.switchTo().parentFrame();
driver.switchTo().defaultContent();

Ответы [ 4 ]

0 голосов
/ 28 августа 2018

driver.switchTo () defaultContent ();.

Это передаст управление основному документу, который содержит iframes

driver.switchTo () parentFrame ();.

Это передаст управление неизбежному родительскому кадру текущего кадра

Давайте разберемся:

main body
{
frame1
{
frame2
frame3 (we are here currently)
}
}

Теперь используется driver.switchTo (). DefaultContent (); передаст управление основному корпусу

И с помощью driver.switchTo (). ParentFrame (); передаст управление в frame1.

0 голосов
/ 29 июня 2018

Существует явная разница:

Сценарий: Когда имеется несколько кадров, и некоторые из них являются вложенными.

iframeMain
iframeParent
iframechild

Предположим, вы находитесь в ifrmaechild :

Когда вы делаете driver.switchTo().parentFrame();: вы переходите на iframeParent .
Но когда вы делаете driver.switchTo().defaultContent();: вы переходите к основному HTML страницы.
Обратите внимание, что в этом случае вы не перейдете на iframeMain .

0 голосов
/ 29 июня 2018

Когда вы имеете дело с несколькими iframe на своей веб-странице, тогда driver.switchTo().parentFrame() обычно используется для переключения элемента управления обратно в родительский фрейм.

Когда вы имеете дело с всплывающими диалоговыми окнами на вашей веб-странице, тогда driver.switchTo().defaultContent() используется для переключения элемента управления обратно на содержимое по умолчанию в окне.

0 голосов
/ 29 июня 2018
.

driver.switchTo () parentFrame ();

В соответствии со спецификациями, driver.switchTo().parentFrame(); вызывает следующее:

Switch To Parent Frame

Где, команда Switch to Parent Frame устанавливает текущий контекст просмотра для будущих команд на parent из текущего контекста просмотра .

В соответствии с Java Docs parentFrame() метод изменяет фокус на родительский контекст. Если текущий контекст является контекстом просмотра верхнего уровня, контекст остается неизменным.

.

driver.switchTo () defaultContent ();

В соответствии с Java Docs , defaultContent() метод выбирает либо первый фрейм на странице, либо основной документ, если страница содержит фреймы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...