Selenium + Python3.x как переключить поиск элемента на новое открытое окно

С помощью selenium нажимаю на кнопку и у меня открывается новое окно как мне в новом окне найти нужный мне элемент. Тоесть я имею ввиду как переключить поиск элементов на открывшиеся окно а потом закрыть открывшиеся окно и перейти обратно на окно с которого все начиналось


Ответы (1 шт):

Автор решения: gil9red

Для переключения нужно:

  • Метод driver.switch_to.window, позволит переключаться
  • Поле driver.window_handles, позволит получить список наименований окон

Накидал пример открытия, переключения и загрузки:

import time
from selenium import webdriver


driver = webdriver.Firefox()
driver.implicitly_wait(10)

try:
    driver.get('https://yahoo.com')
    print(f'Title: "{driver.title}"')

    # Opens a new tab
    driver.execute_script("window.open()")
    driver.execute_script("window.open()")

    print('Tabs:', len(driver.window_handles), driver.window_handles)

    driver.switch_to.window(driver.window_handles[1])
    driver.get('https://google.com')
    print(f'Switch to title: "{driver.title}"')

    time.sleep(2)

    driver.switch_to.window(driver.window_handles[2])
    driver.get('https://ya.ru')
    print(f'Switch to title: "{driver.title}"')

    time.sleep(2)

    driver.switch_to.window(driver.window_handles[0])
    print(f'Switch to title: "{driver.title}"')

    time.sleep(2)

finally:
    driver.quit()
→ Ссылка