Как переключаться между окнами с помощью Selenium в Python?

Опубликовано: 29 Марта, 2022

Selenium - эффективное устройство для управления интернет-браузером через программу. Он предназначен для всех браузеров, работает на всех основных ОС, а его сценарии написаны на многих языках, например, Python, Java, C # и т. Д., Мы можем работать с Python.

Это фантастически жизнеспособно, что мы открываем огромное количество окон. Каждое окно может также дополнительно потребовать от нас выполнения нескольких ходов для завершения непрерывного потока. Для этого нам нужно иметь возможность переключаться между ними. Мы хотим дополнительно поменять местами управление, после чего выполнить желаемую операцию, потому что при использовании значения по умолчанию точка интереса остается в окне рисунка.

Требование:

Вам необходимо установить chromedriver и указать путь. Нажмите здесь, чтобы загрузить дополнительную информацию по этой ссылке. WebDriver поддерживает перемещение между этими окнами с помощью метода switch_to_window ().

driver.switch_to_window(“”)

Пошаговый подход:

Если мы открываем несколько окон, нам нужно напечатать заголовок каждой страницы окна, но мы печатаем только заголовок родительского окна, а не заголовок страницы всего окна. Эту проблему решим через driver.switch_to_window («) . Используя этот метод, мы можем распечатать каждую страницу заголовка.

  • Принимая любой URL.
  • Нам нужно, чтобы дочернее окно этой веб-страницы затем щелкнуло по любой кнопке с помощью метода find_element_by_xpath (), чтобы найти XPath.
  • Создайте переменную дескрипторов, которая хранит все значения дескрипторов открытого окна браузера.

handles=driver.window_handles

  • Затем с помощью цикла распечатайте все заголовки веб-страниц.

Implementation:

Python3

# import selenium module
from selenium import webdriver
  
# import select class
from selenium.webdriver.support.ui import Select
  
# using chrome driver
driver = webdriver.Chrome()
  
# web page url and open first window page
  
# find xpath of button for child window page
# this page no. 2
driver.find_element_by_xpath("//*[@id="Tabbed"]/a/button").click()
  
# return all handles value of open browser window
handles = driver.window_handles
for i in handles:
    driver.switch_to.window(i)
  
    # print every open window page title
    print(driver.title)

Выход:

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.