Найдите веб-элементы с помощью Selenium WebDriver
Мы можем идентифицировать веб-элементы на веб-странице, используя следующие два инструмента:
- Инструменты разработчика
- 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. Он присутствует внутри интерфейса веб-элемента.