Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как переключиться между окнами браузера? Как узнать name и handle необходимого мне окна?

protractor
webdriver
Теги: #<Tag:0x00007f7b6d663a38> #<Tag:0x00007f7b6d663128>

(Paul Gladoon) #1

Доброго времени суток, есть такая задача:
1.Перейти на сайт
2.Кликнуть на ссылку регистрации через соц.сети
3.В списке соц.сетей выбрать Facebook и кликнуть
4.В открывшемся окне ввести данные для авторизации.

Проблема: после клика на Facebook не могу сменить окно на открывшееся окно авторизации. Пишу на JS, использую Protractor.

Код:
home_page.clickRegLink();
home_page.clickFacebookRegLink();
browser.switchTo().window();
element(by.css(‘button#loginbutton’)).click()

Вопрос: метод switchTo().window(); --> требует в window указать name или handle, скажите пожалуйста, как мне узнать handle или name необходимого мне окна?


(Dema W) #2

Сначала вам нужно достать список окон browser.getAllWindowHandles()
Там и узнаете handle всех окон.


(Paul Gladoon) #3

Благодарю за Ваш ответ, а Вы можете подробней описать что да как, я еще начинающий…


(Paul Gladoon) #4

Как то так?
browser.getAllWindowHandles().then(function (handles) {
browser.switchTo().window(handles[1]);
});