Получение HTML-кода элемента в Selenium WebDriver с использованием Python

Перейти в телеграм, чтобы получить результаты теста
Пройдите тест, узнайте какой профессии подходите
Вам подходит профессия:
Аналитик данных
Основные характеристики профессии:
не нужно общаться с людьми
логика
анализ
поиск закономерностей
работа с числами
Построим личный план перехода в профессию для вас бесплатно
- убедитесь, подходит вам профессия или нет
- получите оценку своих навыков и шансов освоить профессию
- забронируем за вами скидку 55% на обучение, пока думаете
Позвоним вам в течение часа — не пропустите звонок
Чем занимается специалист
Специалист создает все онлайн-продукты, программы, приложения, игры и сайты, которыми вы пользуетесь каждый день.
Создает — значит описывает последовательность действий на специальном языке программирования. Настраивает действия, что должно произойти, если пользователь нажмет на кнопку.
Средняя зарплата начинающего специалиста в первый год работы:
от 50 000 ₽
Что надо знать и уметь, чтобы выучиться на аналитика:
- базовое школьное образование
- уверенные навыки работы с компьютером
- опыт выполнения задач в конкретные сроки
Глубокие знания математики или английского не нужны
Почему мы рекомендуем вам эту профессию
Ваш скрытый талант:
наблюдательность
Часто в процессе автоматизации тестирования веб-приложений с использованием Selenium WebDriver возникает необходимость получить HTML-код определенного элемента
Часто в процессе автоматизации тестирования веб-приложений с использованием Selenium WebDriver возникает необходимость получить HTML-код определенного элемента на странице.
Возникает вопрос: как это сделать?
Для начала рассмотрим типичный пример. Представим, что у нас есть страница с определенным элементом, который мы хотим найти и получить его HTML-код.
from selenium import webdriver
wd = webdriver.Firefox()
elem = wd.find_element_by_css_selector('#my-id')
Мы можем легко получить HTML-код всей страницы с помощью метода page_source
:
html = wd.page_source
Но что делать, если нам нужен HTML-код конкретного элемента?
В Selenium WebDriver нет прямого метода для получения HTML-кода элемента, но это можно сделать с помощью Javascript. Существует Javascript-функция outerHTML
, которая возвращает HTML-код элемента, включая сам элемент.
html = wd.execute_script("return arguments[0].outerHTML;", elem)
При этом важно учесть, что для работы этого кода должен быть включен Javascript в браузере.
Таким образом, получение HTML-кода конкретного элемента в Selenium WebDriver возможно, но для этого придется использовать Javascript. Это может быть немного неудобно, но, к счастью, Python и WebDriver предоставляют достаточно простые и удобные инструменты для выполнения такого рода задач.
Добавить комментарий