You are currently viewing Поиск отдельных элементов в Selenium Python

Поиск отдельных элементов в Selenium Python

Стратегии локаторов в Selenium Python-это методы, которые используются для поиска элементов со страницы и выполнения операции над ними. Модуль Python Селена построен для автоматического тестирования с помощью Python. Привязки Selenium Python предоставляют простой API для написания функциональных/приемочных тестов с использованием Selenium WebDriver. После установки selenium и проверки – Переход по ссылкам с помощью метода get, возможно, кто-то захочет больше играть с Selenium Python. После открытия страницы с помощью selenium, такой как geeksforgeeks, пользователь может захотеть автоматически нажать некоторые кнопки или автоматически заполнить форму или выполнить любую подобную автоматическую задачу. Эта статья посвящена поиску отдельных элементов в Selenium Python.

Стратегии локатора для обнаружения отдельных первых элементов

Selenium Python следует различным стратегиям поиска элементов. Можно найти элемент 8 различными способами. Вот список стратегий поиска селена в python:

ЛОКАТОРЫОПИСАНИЕ
find_element_by_idБудет возвращен первый элемент со значением атрибута id, соответствующим местоположению.
find_element_by_nameБудет возвращен первый элемент со значением атрибута name, соответствующим местоположению.
find_element_by_xpathБудет возвращен первый элемент с синтаксисом xpath, соответствующим местоположению.
find_element_by_link_textБудет возвращен первый элемент со значением текста ссылки, соответствующим местоположению.
find_element_by_partial_link_textБудет возвращен первый элемент со значением текста частичной ссылки, соответствующим местоположению.
find_element_by_tag_nameБудет возвращен первый элемент с заданным именем тега.
find_element_by_class_nameбудет возвращен первый элемент с соответствующим именем атрибута класса.
find_element_by_css_selectorБудет возвращен первый элемент с соответствующим селектором CSS.

find_element_by_id

При использовании этой стратегии будет возвращен первый элемент со значением атрибута id, соответствующим местоположению. Если ни один элемент не имеет соответствующего атрибута id, будет вызвано исключение NoSuchElementException.

Синтаксис:

driver.find_element_by_id("id_of_element")

Пример:

Например, рассмотрим этот источник страницы:

<html>
<body>
<form id="loginForm">
<input name="username" type="text" />
<input name="password" type="password" />
<input name="continue" type="submit" value="Login" />
</form>
</body>
<html>

Теперь, после того как вы создали драйвер, вы можете захватить элемент с помощью:

login_form = driver.find_element_by_id('loginForm') 

Чтобы проверить практическую реализацию, посетите – find_element_by_id() driver method – Selenium Python

find_element_by_name

При использовании этой стратегии будет возвращен первый элемент со значением атрибута name, соответствующим местоположению. Если ни один элемент не имеет соответствующего атрибута name, будет вызвано исключение NoSuchElementException.

Синтаксис:

driver.find_element_by_name("name_of_element")

Пример:

driver.find_element_by_name("name_of_element")

Пример:
Например, рассмотрим этот источник страницы:

<html>
<body>
<form id="loginForm">
<input name="username" type="text" />
<input name="password" type="password" />
<input name="continue" type="submit" value="Login" />
</form>
</body>
<html>

Теперь, после того как вы создали драйвер, вы можете захватить элемент с помощью:

element = driver.find_element_by_name('username')

Чтобы проверить практическую реализацию, посетите – find_element_by_name() driver method – Selenium Python

find_element_by_xpath

С помощью этой стратегии будет возвращен первый элемент с шаблоном xpath, соответствующим местоположению. Если ни один элемент не имеет соответствующего атрибута элемента, будет вызвано исключение NoSuchElementException.

Синтаксис:

driver.find_element_by_xpath("xpath") 

Пример:
Например, рассмотрим этот источник страницы:

<html>
<body>
<form id="loginForm">
<input name="username" type="text" />
<input name="password" type="password" />
<input name="continue" type="submit" value="Login" />
</form>
</body>
<html>

Теперь, после того как вы создали драйвер, вы можете захватить элемент с помощью:

login_form = driver.find_element_by_xpath("/html/body/form[1]") login_form = driver.find_element_by_xpath("//form[1]")

Чтобы проверить Практическую Реализацию, посетите – find_element_by_xpath() driver method – Selenium Python

find_element_by_link_text

При использовании этой стратегии будет возвращен первый элемент со значением текста ссылки, соответствующим местоположению. Если ни один элемент не имеет соответствующего атрибута текста ссылки, будет вызвано исключение NoSuchElementException.

Синтаксис:

driver.find_element_by_link_text("Text of Link")

Пример:
Например, рассмотрим этот источник страницы:

<html>
<body>
<p>Are you sure you want to do this?</p>
<a href="continue.html">Continue</a>
<a href="cancel.html">Cancel</a>
</body>
<html>

Теперь, после того как вы создали драйвер, вы можете захватить элемент с помощью:

login_form = driver.find_element_by_link_text('Continue')

Чтобы проверить практическую реализацию, посетите – find_element_by_link_text() driver method – Selenium Python

find_element_by_partial_link_text

При использовании этой стратегии будет возвращен первый элемент со значением текста частичной ссылки, соответствующим местоположению. Если ни один элемент не имеет соответствующего атрибута текста частичной ссылки, будет вызвано исключение NoSuchElementException.

Синтаксис:

driver.find_element_by_partial_link_text("Text of Link") 

Пример:
Например, рассмотрим этот источник страницы:

<html>
<body>
<p>Are you sure you want to do this?</p>
<a href="continue.html">Continue</a>
<a href="cancel.html">Cancel</a>
</body>
<html>

Теперь, после того как вы создали драйвер, вы можете захватить элемент с помощью:

login_form = driver.find_element_by_partial_link_text('Conti') 

Чтобы проверить практическую реализацию, посетите – find_element_by_partial_link_text() driver method – Selenium Python

find_element_by_tag_name

При использовании этой стратегии будет возвращен первый элемент с заданным именем тега. Если ни один элемент не имеет соответствующего имени тега, будет вызвано исключение NoSuchElementException.

Синтаксис:

driver.find_element_by_tag_name("Tag name") 

Пример:
Например, рассмотрим этот источник страницы:

<html>
<body>
<h1>Welcome</h1>
<p>Site content goes here.</p>
</body>
<html>

Теперь, после того как вы создали драйвер, вы можете захватить элемент с помощью:

login_form = driver.find_element_by_tag_name('h1')

Чтобы проверить практическую реализацию, посетите – find_element_by_tag_name() driver method – Selenium Python

find_element_by_class_name

С помощью этой стратегии будет возвращен первый элемент с соответствующим именем атрибута класса. Если ни один элемент не имеет соответствующего имени атрибута класса, будет вызвано исключение NoSuchElementException.

Синтаксис:

driver.find_element_by_class_name("class_of_element")

Пример:
Например, рассмотрим этот источник страницы:

<html>
<body>
<p class="content">Site content goes here.</p>
</body>
<html>

Теперь, после того как вы создали драйвер, вы можете захватить элемент с помощью:

driver.find_element_by_css_selector("CSS Selectors")

Пример:
Например, рассмотрим этот источник страницы:

<html>
<body>
<p class="content">Site content goes here.</p>
</body>
<html>

Теперь, после того как вы создали драйвер, вы можете захватить элемент с помощью:

content = driver.find_element_by_css_selector('p.content')

Чтобы проверить практическую реализацию, посетите – find_element_by_css_selector() driver method – Selenium Python