Урок 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.
