Перейти к содержимому

Фотография

В коде (python) прописать переключение на всплывающее окно в Selenium

python selenium web driver

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 irina_kalitina

irina_kalitina

    Новый участник

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Калитина Ирина


Отправлено 30 октября 2017 - 07:30

Добрый день! Подскажите, пожалуйста. Нужно написать тест для авторизации на сайте через "Facebook". То есть мы сначала выполняем некоторые действия в одном окне, потом должны переключиться на другое, сделать там необходимые действия, авторизоваться, а затем снова вернуться на первое окно и продолжить действия там.

 

Последовательность действий такая: Получить идентификаторы всех окон- получить идентификатор текущего окна-найти окно, которое отличается от текущего-переключиться в него- авторизоваться-переключиться в исходное.

 

Как это прописать в коде?

 

На скриншоте та часть кода, которую я уже начала писать, но не получилось до конца, это как раз тот момент, когда нужно переключиться на окно фейсбука.

Буду очень благодарна за помощь:)

 


  • 0

#2 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 30 октября 2017 - 10:29

Кажется, забыли скриншот?

 

На скриншоте та часть кода, которую я уже начала писать, но не получилось до конца, это как раз тот момент, когда нужно переключиться на окно фейсбука.

Буду очень благодарна за помощь:)


  • 0

#3 irina_kalitina

irina_kalitina

    Новый участник

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Калитина Ирина


Отправлено 30 октября 2017 - 12:58

 

Кажется, забыли скриншот?

 

На скриншоте та часть кода, которую я уже начала писать, но не получилось до конца, это как раз тот момент, когда нужно переключиться на окно фейсбука.

Буду очень благодарна за помощь:)

 

Странно, думала, что нет)) прикрепила еще раз.

Прикрепленные файлы


  • 0

#4 aid

aid

    Опытный участник

  • Members
  • PipPipPipPip
  • 448 сообщений
  • ФИО:Николай


Отправлено 01 ноября 2017 - 08:07

Ну код то надо адаптировать к вашему случаю, а не просто кусок вырывать с неправильным синтаксисом. И не нужен там никакой гет с урлом фейсбучным.


  • 0

#5 DmitriyQA

DmitriyQA

    Постоянный участник

  • Members
  • PipPipPip
  • 183 сообщений
  • ФИО:Коваленко Дмитрий Владимирович
  • Город:Tel Aviv

Отправлено 07 ноября 2017 - 18:56

Велосипед мой:

Класс помощник обертывает селениумовский драйвер

 

class MyDriver(WebDriver):

 

Переключение

def switch_to_window(selfindex):
windows = self.window_handles
assert index < len(self.window_handles)'you asked to switch to window number {}, but there are only {}'.format(indexlen(windows))
self.switch_to.window(windows[index])

 

Ожидание пока откроется вкладка

def wait_for_windows_count(self, count):
ChorusDriver.wait_until(lambda x: len(x) == count, params=[self.window_handles], timeout=10, sleep_interval=0.1)

 

Это уже обертка, а есть родные метод switch_to_window 

 


  • 0

Senior QA/ Wix.com / qaacademy.net


#6 irina_kalitina

irina_kalitina

    Новый участник

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Калитина Ирина


Отправлено 08 ноября 2017 - 07:59

Ну код то надо адаптировать к вашему случаю, а не просто кусок вырывать с неправильным синтаксисом. И не нужен там никакой гет с урлом фейсбучным.

Спасибо, получилось переключиться на другое окно, выполнить там авторизацию, но окно почему-то открывается в той же вкладке, что и родительское окно (вместо него) и не может переключиться обратно:(


  • 0



Темы с аналогичным тегами python, selenium web driver

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных