Объединение текста Selenium XPath

#c# #selenium #selenium-webdriver #selenium-chromedriver

#c# #селен #selenium-webdriver #selenium-chromedriver

Вопрос:

Я пытаюсь найти элемент по его тексту. Однако я сталкиваюсь с проблемой объединения двух частей «внутреннего» текста внутри элемента:

 <p>
"Copied" 
"!" 
</p>
 

Если я пытаюсь:

  1. "//p[contains(text(),'Copied!')]" ничего не найдено
  2. "//p[contains(text(),'Copied')]; — работает правильно
  3. "//p[contains(text(),'!')]; — работает правильно

Как это можно найти?

Ответ №1:

Между текстовыми частями есть новая строка, которую вы можете использовать normalize-space() для этого. От w3cschool

Функция normalize-space удаляет из строки начальный и конечный пробелы, заменяет последовательности пробелов на один пробел и возвращает результирующую строку.

 //p[normalize-space('Copied!')]