Содержание в части текста - PullRequest
0 голосов
/ 13 марта 2019

Я часто сталкиваюсь с ситуацией, когда мне нужно проверить, есть ли фрагмент текста в предложении или абзаце. Для наглядности приведем такой код

MyText = driver.find_elements_by_xpath('//*[starts-with(@id, "popover-")]')
for list_MyText in MyText:
    print(list_MyText.text)

Я получаю 5 разных предложений по 10 слов. И мне нужно проверить, например, что в каждом из 5 предложений есть слово «Hello». Какими способами это можно реализовать?

Ответы [ 3 ]

2 голосов
/ 13 марта 2019

Вы можете сделать это следующим кодом:

for list_MyText in MyText:
   if 'Hello' in list_MyText.text
0 голосов
/ 13 марта 2019

Более простой способ сделать это - просто встроить критерии в локатор.Таким образом, вам не нужно перебирать каждый элемент и видеть, содержит ли он нужную строку, например,

driver.find_elements_by_xpath('//*[starts-with(@id, "popover-")][contains(.,'Hello')]')

Теперь, если вы ожидаете 3 из этих элементов на странице, вы можете утверждать, чтоих три.

list = driver.find_elements_by_xpath('//*[starts-with(@id, "popover-")][contains(.,'Hello')]')
assertEqual(3, len(list))

См. документы для получения дополнительной информации по этому и другим утверждениям.

0 голосов
/ 13 марта 2019

Здесь вы идете подсчитывать наличие ваших слов.

MyText = driver.find_elements_by_xpath('//*[starts-with(@id, "popover-")]')
count=0
for list_MyText in MyText:
    print(list_MyText.text)
    if "Hello" in list_MyText.text:
       count=+1
print(count)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...