atesting.ru Блог Локаторы в Selenium Python

Локаторы в Selenium Python

В этом руководстве мы изучим локаторы в Selenium и узнаем, как их найти при написании скриптов с использованием Python.

Кроме того, мы обсудили локаторы в Selenium при использовании Java.

Какие локаторы доступны в Selenium?

Типы локаторов, используемых в Selenium Python, следующие:

  1. ID
  2. Имя
  3. Имя класса
  4. Имя тега
  5. Текст ссылки
  6. Частичный текст ссылки
  7. < li> CSS Selector

  8. XPath

Давайте подробно обсудим эти локаторы Selenium WebDriver.

# 1. Имя

Атрибут name в коде HTML используется как указатель для идентификации элементов. Может быть несколько элементов, имеющих одинаковое значение атрибута name, в этом случае будет идентифицирован первый соответствующий элемент. NoSuchElementException генерируется, если нет соответствующего элемента с искомым именем.

Синтаксис: find_element_by_name («программное обеспечение»)

Щелкните эту ссылку, чтобы получить подробное описание локатора имен

№2. Id

Атрибут id в коде HTML используется в качестве указателя для идентификации элементов. Идентификаторы обычно уникальны для элемента. NoSuchElementException выбрасывается, если нет подходящего элемента с искомым идентификатором.

Синтаксис: find_element_by_id («test»)

Щелкните эту ссылку, чтобы получить подробное описание локатора идентификатора

# 3. Имя класса

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

Синтаксис: find_element_by_class_name («test-auto»)

Щелкните эту ссылку, чтобы получить подробное описание локатора имени класса

# 4. Имя тега

Имя тега в коде HTML используется в качестве указателя для идентификации элементов. Может быть несколько элементов, имеющих одно и то же имя тега, в этом случае будет идентифицирован первый совпадающий элемент. NoSuchElementException выбрасывается, если нет соответствующего элемента с именем тега, которое мы ищем. Локатор имени тега в Selenium обычно полезен для получения содержимого, заключенного в тег.

Синтаксис: find_element_by_tag_name («input»)

Щелкните эту ссылку, чтобы получить подробное описание локатора имени тега

# 5. Текст ссылки

Текст, заключенный в тег привязки, используется для идентификации ссылки или гиперссылки. Может быть несколько элементов, имеющих одинаковый текст ссылки, в этом случае будет идентифицирован первый соответствующий элемент. NoSuchElementException генерируется, если нет соответствующего элемента с текстом ссылки, который мы ищем.

Синтаксис: find_element_by_link_text («Selenium Python»)

Щелкните эту ссылку, чтобы получить подробное описание локатора текста ссылки

# 6. Частичный текст ссылки

Частичный текст, заключенный в тег привязки, используется для идентификации ссылки или гиперссылки. . Может быть несколько элементов, имеющих один и тот же частичный текст ссылки, в этом случае будет идентифицирован первый совпадающий элемент. NoSuchElementException генерируется, если нет соответствующего элемента с частичным текстом ссылки, который мы ищем.

Синтаксис: find_element_by_partial_link_text («Selenium»)

Щелкните эту ссылку, чтобы получить подробное описание локатора текста частичной ссылки

# 7. Локатор CSS в Selenium

Элемент идентифицируется с помощью CSS, созданного с помощью атрибута HTML, значения или tagName. NoSuchElementException генерируется, если нет соответствующего элемента с искомым CSS. Настроенное выражение CSS можно создать, следуя некоторым из следующих правил:

a) С помощью идентификатора и имени тега. Во-первых, нам нужно указать имя тега, затем (#), а затем идентификатор. Кроме того, имя тега является необязательным и может быть опущено в выражении CSS.

Синтаксис: find_element_by_css_selector («input # txt»)

б) С помощью имени класса и имени тега. Во-первых, нам нужно указать имя тега, затем (.), А затем имя класса. Кроме того, имя тега является необязательным и может быть опущено в выражении CSS.

Синтаксис: find_element_by_css_selector («input.txt-bx»)

c) С помощью имени тега и любого атрибута с его значениями. Сначала нам нужно указать имя тега, а затем атрибут со значением, заключенным в ([]).

Синтаксис: find_element_by_css_selector («a [alt = ' название '] »)

г) Чтобы идентифицировать родственный элемент, нам нужно указать n-й дочерний элемент (n) родителя в выражении CSS. Предположим, мы переходим ко второму столбцу в таблице, для этого мы должны использовать концепцию nth-child.

Синтаксис: find_element_by_css_selector («tr td: nth- child (2) ”)

Щелкните эту ссылку, чтобы получить подробное описание локатора селектора CSS

# 8. XPath

Элемент идентифицируется с помощью XPath, созданного с помощью атрибута HTML, значения и имени тега. NoSuchElementException выбрасывается, если нет соответствующего элемента с искомым XPath. Xpath бывает двух типов: абсолютный и относительный. Для абсолютного XPath мы должны перейти от корня к элементу. Однако для относительного XPath мы можем начать с любой позиции в DOM. Выражение XPath должно соответствовать определенному правилу //тэг [@ attribute = ’value’]. Имя тега указывать необязательно. Если он опущен, выражение должно //* [@ attribute = 'value']. ​​

Синтаксис: find_element_by_xpath («//a [@ alt = ' title '] ”)

Щелкните эту ссылку, чтобы получить подробное описание XPath Locator

TAG: qa