Урок 3. Поиск элементов на странице в Selenium

Умение находить элементы — основа работы с Selenium. В этом уроке мы рассмотрим разные способы поиска: по тегам, классам, идентификаторам, тексту и XPath.

Основные методы поиска

  • find_element(By.ID, "id") — поиск по ID.
  • find_element(By.CLASS_NAME, "class") — поиск по классу.
  • find_element(By.NAME, "name") — поиск по атрибуту name.
  • find_element(By.TAG_NAME, "tag") — поиск по тегу (например, «a»).
  • find_element(By.LINK_TEXT, "Текст ссылки") — поиск ссылки по тексту.
  • find_element(By.CSS_SELECTOR, "div.content") — поиск по CSS-селектору.
  • find_element(By.XPATH, "//div[@id='main']") — поиск по XPath.

Установка библиотек

Откройте терминал и выполните команду:

pip install selenium webdriver-manager

Пример кода

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
import time

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("https://parsertools.ru")

# Поиск по тегу h1
title = driver.find_element(By.TAG_NAME, "h1")
time.sleep(10)  # небольшая пауза
print("Заголовок:", title.text)

# Поиск по CSS
link = driver.find_element(By.CSS_SELECTOR, "a")
print("Ссылка:", link.get_attribute("href"))

driver.quit()

Поиск нескольких элементов

Если элементов несколько — используйте find_elements:

links = driver.find_elements(By.TAG_NAME, "a")
for l in links:
    print(l.get_attribute("href"))

В следующем уроке разберём, как взаимодействовать с формами и кнопками.

Больше уроков по парсингу на parsertools.ru/lessons.