Попытка получить числовое динамическое текстовое значение из элемента span. Мой тест основан на данных, поэтому для каждого запуска ему нужно получить текст (сумму в долларах) с веб-страницы, а затем сравнить его с ожидаемым значением в excel. По какой-то причине мой код не работает. Помогите решить.Selenium WebDriver Java - невозможно получить динамический текст из тега span
Мой HTML:
$ 445,87Мой локатора: По цене = By.xpath ("// ДИВ [@ класс = 'цена нг-связывающим'] [@ нг скрыть = 'calc.isCalculating']/текст() ");
Мой код:
WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.presenceOfElementLocated(PRICE));
WebElement actualPriceElm = driver.findElement(PRICE);
actualPriceElm.getText();
Assert.assertEquals(actualPriceElm, strExpectedPrice);
Моя ошибка: Таймаут после 15 секунд ожидания на наличие элемента расположен на: By.xpath: // DIV [@ класс = 'цена нг-связывающим'] [@ ng-hide = 'calc.isCalculating']/text()
Когда я использую свой xpath без «/ text()», как это // div [@ class = 'цена ng-binding]] [@ ng- hide = 'calc.isCalculating'], тогда я получаю следующую ошибку:
Исключение из потока "main" java.lang.AssertionError: expected [445.87] но найдено [[[FirefoxDriver: firefox on W INDOWS (f26e0c00-823f-4d45-8285-014303527524)] -> XPath: // DIV [@ класс = 'цена нг-связывающим'] [@ нг скрыть = 'calc.isCalculating']]]
Это HTML:
перед тем, как ждать, что вызывает появление элемента? в ручном тестировании, что бы вы сделали, чтобы сделать динамический элемент присутствующим? – CharlieS
Попробуйте использовать 'By.CssSelector()' – vkrams