Работа с ссылками в Selenium

Ссылки являются фундаментальными элементами веб-страниц. По сути, это гиперссылки, которые делают возможным существование всемирной интернет сети. Ниже приведен пример ссылки, а также источник HTML.

Запуск браузера

Тестирование веб-сайтов начинается с браузера.

Используйте webdriver.Chrome или webdriver.Ie для тестирования в Chrome и IE соответственно. Для новичков рекомендуется закрыть окно браузера в конце тестового примера.

Найти ссылку по тексту

Поиск по тексту — это, пожалуй, самый прямой способ найти ссылку в Selenium, поскольку это то, что мы видим на странице.

Найти ссылку по ID

Кроме того, если вы тестируете веб-сайт с несколькими языками, использование идентификаторов является, пожалуй, единственно возможным вариантом. Если вы не хотите писать тестовые скрипты, как показано ниже:

Найти ссылку по частичному тексту

HTML содержимое:

Поиск ссылки:

Найти ссылку при помощи XPath

Пример ниже — поиск ссылки с текстом «Recommend Selenium» под тегом абзаца <p>.

Можно сказать, что приведенный выше пример (найти по тексту ссылки) проще и интуитивно понятнее. Но давайте рассмотрим другой пример:

На этой странице есть две ссылки «Click here». Если в тестовом случае вам нужно щелкнуть вторую ссылку «Click here», простой find_element_by_link_text ("Click here") не будет работать (так как он нажимает первый). Вот способ выполнения XPath:

Клик на N-ую ссылку с похожим текстом

Это не редкость, что существует более одной ссылки с точно таким же текстом. По умолчанию Selenium выберет первый. Что, если вы выберете второй или N-ый? На приведенной ниже веб-странице есть три ссылки «Show Answer».

Работа с ссылками в Selenium

Чтобы выбрать вторую ссылку:

find_elements_xxx возвращает список (также называемый массивом) веб-элементов, соответствующих критериям в порядке появления. Selenium (Python) использует индексирование на основе нуля, то есть первое из них равно 0.

Клик на N-ую ссылку по CSS критериям

Вы также можете использовать CSS выражения для поиска веб-элемента.

Однако, использование стилей более склонно к изменениям.

Получение атрибутов данных ссылок

Как только веб-элемент идентифицирован, мы можем получить его атрибуты. Это обычно применимо к большинству элементов HTML.

Тестовые ссылки открывают новое окно браузера

При нажатии на ссылку ниже откроется связанный URL-адрес в новом окне или вкладке браузера.

Чтобы найти новое окно браузера, будет проще выполнить все тесты в одном окне браузера. Вот как это сделать:

В этом тестовом скрипте мы используем локальную переменную (термин программирования) ‘current_url‘ для хранения текущего URL-адреса.