[파이썬] Selenium 브라우저 탭 다루기

Selenium is a popular web automation tool that allows you to control web browsers programmatically. One of the common tasks in browser automation is managing browser tabs. In this blog post, we will explore how to handle browser tabs using Selenium in Python.

Opening a New Tab

To open a new tab in Selenium, we can use the send_keys method with the Keys class from the selenium.webdriver.common.keys module. Here’s an example:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

# Create a new instance of the Firefox driver
driver = webdriver.Firefox()

# Open a webpage
driver.get("https://www.example.com")

# Open a new tab
driver.find_element(by="css selector", value="body").send_keys(Keys.CONTROL + "t")

In the above code, we first create a new instance of the Firefox driver. We then use the get method to open a webpage. Finally, we use the send_keys method to simulate pressing the Ctrl + t keys to open a new tab.

Switching between Tabs

Once we have multiple tabs open in the browser, we may need to switch between them to perform different actions. Selenium provides a switch_to.window method to switch between tabs. Here’s an example:

# Switch to the newly opened tab
driver.switch_to.window(driver.window_handles[1])

# Do some actions in the new tab

# Switch back to the original tab
driver.switch_to.window(driver.window_handles[0])

In the above code, we use the switch_to.window method to switch to the newly opened tab by specifying the index of the tab handle. We can then perform actions in that tab. Afterward, we switch back to the original tab by specifying its index.

Closing a Tab

To close a tab using Selenium, we can again use the send_keys method with the Keys class. Here’s an example:

# Close the current tab
driver.find_element(by="css selector", value="body").send_keys(Keys.CONTROL + "w")

In the above code, we use the send_keys method to simulate pressing the Ctrl + w keys to close the current tab.

Conclusion

Managing browser tabs is an important aspect of web automation. With Selenium and Python, we can easily open new tabs, switch between tabs, and close tabs. This flexibility allows us to perform complex automation tasks efficiently. Happy tab browsing with Selenium!