Что такое локатор и как его определить?

Как получить текст из элемента, чтобы проверить, содержит ли он слово "черновик"?
  • 14 ноября 2023 г. 13:08
Ответы на вопрос 3
Локатор - это специальное выражение или строка, которая позволяет идентифицировать элемент на веб-странице. Локаторы используются для нахождения элементов с помощью инструментов для автоматизации тестирования, таких как Selenium WebDriver.

Определить локатор можно, используя различные атрибуты элемента, такие как идентификатор (id), имя (name), класс (class), значение атрибута (attribute value), текстовое содержимое (text content) и другие. Примеры локаторов:

- Использование идентификатора: `By.id("myElement")`
- Использование имени: `By.name("myElement")`
- Использование класса: `By.className("myElement")`
- Использование CSS-селектора: `By.cssSelector("#myElement")`
- Использование XPath: `By.xpath("//div[@id='myElement']")`

Чтобы получить текст из элемента на веб-странице с помощью Selenium WebDriver, можно использовать метод `getText()` элемента. Пример кода на языке Python:

```python
element = driver.find_element_by_id("myElement")
text = element.get_text()
```

Затем можно проверить, содержит ли полученный текст слово "черновик" с помощью оператора `in`:

```python
if "черновик" in text:
    print("Элемент содержит слово 'черновик'")
else:
    print("Элемент не содержит слово 'черновик'")
```
BS4:import requests
from bs4 import BeautifulSoup

# go to url
url = "example.com"
response = requests.get(url)

# parsing page
soup = BeautifulSoup(response.text, 'html.parser')

# search for spans containing "Черновик"
elements = soup.find_all(lambda tag: tag.name == "span" and "Черновик" in tag.text)

# print
for element in elements:
    print(element.text)
Important! If the required element appears dynamically, BS4 will not be able to wait for it.
Похожие вопросы