07 Июл 2023
1 мин
1269

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

Часто в процессе автоматизации тестирования веб-приложений с использованием 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 предоставляют достаточно простые и удобные инструменты для выполнения такого рода задач.

Содержание

Добавить комментарий

Определи профессию по рисунку