Когда вы работаете с Selenium, одной из самых основных задач является поиск и взаимодействие с элементами на веб-странице. Когда вы ищете элемент через методы вроде find_element() или find_elements(), возвращаемым типом данных является объект WebElement.
Сам же объект WebElement в Selenium представляет собой DOM-элемент на веб-странице. Этот объект предоставляет методы и атрибуты для взаимодействия с элементом, такие как клик, ввод текста или извлечение атрибутов и др.
from selenium import webdriver from selenium.webdriver.common.by import By url = 'https://mob25.com/' with webdriver.Chrome() as browser: browser.get(url) elem = browser.find_element(By.CLASS_NAME, 'text') print(elem)
Вывод:
<selenium.webdriver.remote.webelement.WebElement (session="a86f9c5223a7fa5ac8d6c1911f5bfc16", element="9F9569F9515A0E022F0E665284FFB19D_element_2")>
Давайте разберём каждую часть подробнее:
selenium.webdriver.remote.webelement.WebElement: Это путь к классу в исходном коде Selenium, который представляет элемент на веб-странице.
session=»a86f9c5223a7fa5ac8d6c1911f5bfc16″: Это идентификатор сессии браузера, который используется WebDriver для отслеживания вашего взаимодействия с браузером. Каждая сессия уникальна и связывает ваш код Python с одним конкретным открытым окном браузера.
element=»9F9569F9515A0E022F0E665284FFB19D_element_2: Это уникальный идентификатор элемента на странице в рамках текущей сессии. WebDriver использует этот ID для определения, какой именно элемент должен быть манипулирован.
element_2: Это просто часть уникального идентификатора, который скорее всего генерируется автоматически. Он не несет много информации для нас как разработчиков.
Этот объект WebElement — ваш ключ к манипуляциям с элементом на странице. Вы можете применять к нему различные методы, такие как:
.click() для симуляции клика мышью.
browser.find_element(By.ID, "some_button_id").click()
.send_keys() для ввода текста (полезно для текстовых полей).
browser.find_element(By.NAME, "some_textbox_name").send_keys("Hello, World!")
.get_attribute(‘some_attribute’) для получения атрибутов, например, href у ссылок.
browser.find_element(By.TAG_NAME, "a").get_attribute("href")
.text для получения видимого текста элемента.
browser.find_element(By.CLASS_NAME, "some_class_name").text
И многое другое.