XPath та CSS Селектори в Selenium: Повний посібник по Java

У Selenium WebDriver локатори є важливими для взаємодії з веб-елементами. XPath та CSS селектори є двома з найбільш потужних та гнучких способів знаходження елементів, і вони часто використовуються в автоматизації тестів.

Ця документація допоможе вам зрозуміти, як використовувати XPath та CSS селектори в Selenium WebDriver з Java, із детальними поясненнями та практичними прикладами коду.

1. XPath в Selenium

Що таке XPath?

XPath (XML Path Language) — це мова запитів, що використовується для навігації по XML-документах. У Selenium вона дозволяє знаходити елементи на веб-сторінці, проходячи по DOM (Document Object Model) на основі різних атрибутів, зв'язків, текстового вмісту та інших умов.

Основний синтаксис XPath

  1. Абсолютний XPath: Починається від кореневого елемента (<html>) і йде до цільового елемента.
  2. Відносний XPath: Починається з будь-якої точки в DOM і є більш гнучким.

pic

Основні функції XPath

  • @attribute_name: Вибирає елементи за атрибутом.
  • text(): Вибирає елементи за їх видимим текстом.
  • contains(): Знаходить елементи, де атрибут або текст містить певну підстрічку.
  • starts-with(): Знаходить елементи, де атрибут або текст починаються з певної підстрічки.
  • position(): Вибирає елементи за їх позицією в наборі.

Приклад використання XPath в Java

pic

2. CSS Селектори в Selenium

Що таке CSS Селектори?

CSS Селектори — це шаблони, які використовуються для вибору елементів на основі їх атрибутів, класів, id та інших властивостей. У Selenium CSS селектори часто використовуються для швидкого знаходження елементів, оскільки вони є компактними та легкими для читання.

Основний синтаксис CSS Селекторів

CSS Селектори можуть вибирати елементи за:

  1. ID: #id
  2. Клас: .class
  3. Елемент: element
  4. Атрибут: [attribute='value']
  5. Потомок/Дитина: parent child
  6. Підстрічки атрибутів: [attribute^='value'], [attribute$='value'], [attribute*='value']

Приклад використання CSS Селекторів в Java

pic

Приклади розширених CSS Селекторів

Комбінування CSS Селекторів

Ви можете комбінувати кілька атрибутів в одному CSS Селекторі, щоб точно вибрати елемент.

pic

Знаходження елементів з кількома класами

CSS Селектори можуть співпадати з елементами з кількома класами, якщо їх розділити точкою (.).

pic

Використання псевдокласів (:nth-of-type)

Ви можете використовувати псевдокласи для вибору елементів на основі їх позиції відносно інших елементів того ж типу.

pic

3. XPath vs CSS Селектори

Коли використовувати XPath vs CSS Селектори?

XPath потужний і гнучкий. Він дозволяє вам:

  • Переміщатися вгору і вниз по DOM.
  • Вибирати елементи за їх позицією.
  • Використовувати складні функції, такі як contains(), starts-with() та text().

CSS Селектори швидші в більшості випадків і ідеальні для простих селекторів, таких як:

  • Знаходження елементів за id, class і атрибутами.
  • Вони є більш компактними та легкими для читання.
  • Браузери можуть виконувати їх швидше, ніж XPath, у багатьох випадках.

4. Висновок

У цій документації ми розглянули основи XPath та CSS Селекторів, а також широкий спектр прикладів в Java щодо того, як їх використовувати з Selenium WebDriver. Обидва є важливими інструментами для ефективного знаходження та навігації по елементах веб-сторінки в ваших тестах Selenium.

Освоївши ці техніки, ви зможете працювати з більш складними веб-сторінками та писати більш надійні й підтримувані скрипти автоматизації.

Щасливого кодування! 🚀

Перекладено з: XPath and CSS Selectors in Selenium: A Comprehensive Java Guide

Leave a Reply

Your email address will not be published. Required fields are marked *