Полное руководство: открытие новых вкладок в Selenium с примерами кода

Вы хотите автоматизировать задачи просмотра веб-страниц с помощью Selenium? Открытие новых вкладок — обычное требование при взаимодействии с веб-сайтами. В этой статье блога мы рассмотрим различные способы открытия новых вкладок в Selenium с помощью Python, а также приведем примеры кода. Итак, приступим!

Метод 1. Использование сочетаний клавиш

Один простой способ открыть новую вкладку в Selenium — это имитировать сочетания клавиш. Вы можете использовать класс Keysиз библиотеки Selenium WebDriver для отправки команд с клавиатуры. Вот пример кода:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# Create a WebDriver instance
driver = webdriver.Chrome()
# Open a new tab using keyboard shortcut
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')

Метод 2: выполнение JavaScript

Другой подход — выполнять команды JavaScript непосредственно в браузере с помощью метода execute_scriptSelenium. Мы можем использовать функцию window.openJavaScript, чтобы открыть новую вкладку. Вот пример:

from selenium import webdriver
# Create a WebDriver instance
driver = webdriver.Chrome()
# Open a new tab using JavaScript
driver.execute_script("window.open('about:blank', '_blank');")

Метод 3. Изменение целевого атрибута

Вы также можете открыть новую вкладку, изменив атрибут targetэлемента ссылки и затем щелкнув по нему. Этот метод полезен при работе с определенными элементами на веб-странице. Вот пример:

from selenium import webdriver
# Create a WebDriver instance
driver = webdriver.Chrome()
# Find the link element
link_element = driver.find_element_by_css_selector('a[target="_blank"]')
# Modify the target attribute
driver.execute_script("arguments[0].setAttribute('target', '_blank');", link_element)
# Click on the modified link to open a new tab
link_element.click()

Метод 4. Использование ActionChains

Класс ActionChainsSelenium предоставляет возможность выполнять сложные действия, такие как взаимодействие с клавиатурой и мышью. Мы можем использовать его для имитации открытия новой вкладки. Вот пример:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
# Create a WebDriver instance
driver = webdriver.Chrome()
# Create an instance of ActionChains
actions = ActionChains(driver)
# Move to a link and open it in a new tab
link_element = driver.find_element_by_link_text('Click here')
actions.key_down(Keys.CONTROL).click(link_element).key_up(Keys.CONTROL).perform()

Заключение

В этой статье мы рассмотрели несколько способов открытия новых вкладок в Selenium с помощью Python. Мы рассмотрели методы, включающие сочетания клавиш, выполнение JavaScript, изменение целевого атрибута и использование класса ActionChains. В зависимости от вашего конкретного варианта использования вы можете выбрать наиболее подходящий метод.

Не забудьте импортировать необходимые модули и настроить примеры кода в соответствии со своими требованиями. Удачной работы с вкладками с помощью Selenium!