Приведенная ниже функция - это то, что я использовал для проверки текстов на веб-страницах, но функция не может найти текст, помещенный под тегом 'br'. Добрый совет.

C #:

 public static IWebElement CheckTextOnPage(IWebDriver driver, string _text)
    {
        var buildXpath = "//*[contains(translate(text()[normalize-space()],'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'), '" + _text.ToLower() + "' )]";
        return driver.FindElement(By.XPath(buildXpath));
    }

Образец HTML:

<html>
<div>
Test string 1.
<br>Test string 2.
<br>Test string 3.
</div>
</html>
0
DeSon 15 Апр 2020 в 16:49

1 ответ

Лучший ответ

Вы можете попробовать это альтернативное выражение XPath:

//text()[normalize-space()][contains(translate(.,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'), '" + _text.ToLower() + "' )]/parent::*
1
E.Wiest 15 Апр 2020 в 16:39