
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Handle Child Windows in Selenium with Python
We can handle child windows or tabs in Selenium. While working with child windows, we need to always shift the browser focus to the child windows, then perform operation on them.
By default, the focus remains on the first parent window. There are multiple methods available in Selenium which are listed below −
-
current_window_handle
This method fetches the handle of the present window.
Syntax −
driver.current_window_handle
-
window_handles
This method fetches all the handle ids of the windows that are currently open.
Syntax −
driver.window_handles w = driver.window_handles[2]
The above code gives the handle id of the second window opened in the present session.
-
switch_to.window(args)
This method switches the focus of Selenium to the window name mentioned in the arguments.
Syntax −
driver.switch_to.window(childwindow)
The above code switches focus to the child window handle.
Example
Code Implementation with child window.
from selenium import webdriver driver = webdriver.Chrome(executable_path="C:\chromedriver.exe") # to maximize the browser window driver.maximize_window() #get method to launch the URL driver.get("https://the-internet.herokuapp.com/windows") #to refresh the browser driver.refresh() driver.find_element_by_link_text("Click Here").click() #prints the window handle in focus print(driver.current_window_handle) #to fetch the first child window handle chwnd = driver.window_handles[1] #to switch focus the first child window handle driver.switch_to.window(chwnd) print(driver.find_element_by_tag_name("h3").text) #to close the browser driver.quit()