Найдите веб-элементы с помощью Selenium WebDriver

Опубликовано: 18 Февраля, 2022

Мы можем идентифицировать веб-элементы на веб-странице, используя следующие два инструмента:

  1. Инструменты разработчика
  2. FireBug и FirePath

Инструменты разработчика -

Щелкните правой кнопкой мыши веб-страницу. Перейдите к проверке элемента, чтобы найти инструмент разработчика.

Примечание. На некоторых веб-сайтах щелчок правой кнопкой мыши отключен. например. IRCTC, банковские сайты и т. Д. Чтобы открыть инструмент разработчика на этих сайтах, нажмите «Fn + F12».

Инструменты разработчика неудобны для пользователя, и мы не можем писать для них пути X и CSS-селекторы.

FireBug и FirePath -

FireBug - это дополнение, доступное только в браузере Firefox. Он используется для идентификации веб-элементов на веб-странице.

Fire path - это сторонний инструмент для FireBug, который также является надстройкой, доступной только для браузера Firefox. Используя путь огня, мы можем идентифицировать веб-элементы, и мы можем написать настраиваемый путь X и селекторы CSS. Мы также можем использовать этот инструмент для оценки написанного настроенного пути X. По умолчанию Fire Path генерирует абсолютный X Path.

Примечание:

  • Используя FireBug и Fire Path, мы можем провести кроссбраузерное тестирование.
  • И FireBug, и Fire Path в настоящее время не поддерживают квантовую версию браузера Firefox, то есть 57 или выше.

Шаги по использованию FireBug и Fire Path :

i) Щелкните правой кнопкой мыши веб-элемент. Перейдите к «проверить в пути огня».
ii) Если щелчок правой кнопкой мыши отключен, откройте Fire Path, щелкнув значок FireBug.

ЛОКАТОРЫ : Локаторы используются для определения местоположения веб-элемента на основе тегов HTML, атрибутов и текстов HTML. В Selenium WebDriver есть 8 типов локаторов:

  • id () : этот локатор имеет наивысший приоритет при поиске веб-элементов на веб-странице. Его значение всегда уникально для конкретного веб-элемента на всей веб-странице, и, следовательно, вы не получите несколько совпадений при использовании этого локатора. Когда в HTML-коде есть атрибут id, мы используем его.
  • name () : везде, где есть атрибут name в HTML-коде любого веб-элемента, мы используем этот локатор.
  • className () : всякий раз, когда в HTML-коде есть атрибут класса, мы используем этот локатор.
  • tagName () : всякий раз, когда есть веб-элемент с уникальным тегом HTML, мы используем этот локатор.
  • linkText () : всякий раз, когда есть ссылка с уникальным HTML-текстом, связанным с ней, мы используем этот локатор.
  • partialLinkText () : всякий раз, когда на веб-странице есть ссылка с связанным с ней длинным текстом, мы используем этот указатель bu, используя частичный HTML-текст из ссылки.
  • cssSelector () : по сравнению с XPath cssSelector - гораздо более быстрый локатор и гораздо более широко используется. Он сложнее остальных локаторов, но наиболее эффективен, так как при отсутствии определенных тегов html мы можем использовать его для поиска веб-элемента.
  • xpath () : это локатор, который используется для поиска веб-элемента с помощью тегов, атрибутов и текста. Мы можем использовать X Path для HTML-документов, а также для XML-документов. Существует два типа XPath: a. Абсолютный XPath, б. Относительный X-путь.

Absolute and relative Xpath –

Absolute XPath: This XPath locates the web element from the root element to the required child node. In real-time automation scripts, we should not use absolute XPath.
Note: For dynamic applications such as an Ajax application, we cannot use absolute XPath.

Relative XPath: It is the customized XPath, which finds the elements by using tags, attributes or text.

Эти локаторы представляют собой статический метод, присутствующий внутри абстрактного класса с именем «by». Есть два основных метода поиска и изменения веб-элементов на веб-странице:

findElement () : мы используем этот метод для поиска веб-элементов на веб-странице. Его возвращаемый тип - веб-элемент - это интерфейс. Этот метод находит веб-элементы на основе локаторов, и если этот метод не может найти веб-элементы на странице, он выдает исключение NoSuchElementException. Этот метод присутствует в интерфейсе Searchcontext.

sendKeys () : мы используем этот метод для ввода данных в поле текстового поля на веб-странице. Он принимает в качестве аргумента последовательность символов, то есть «String» и, например, Enum. Он присутствует внутри интерфейса веб-элемента.