试图从span元素中获取数字动态文本值。我的测试是数据驱动的,因此每次运行时都需要从网页获取文本(金额),然后将其与Excel中的期望值进行比较。出于某种原因,我的代码不起作用。请帮忙解决。Selenium WebDriver Java - 无法从span标记中获取动态文本
我的HTML:
$ 445.87我的定位:按价格= By.xpath(“// DIV [@类= '价格NG结合'] [@ NG隐藏= '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 [@类= '价格纳克结合'] [@当我使用我的xpath而没有像/ div [@ class ='price ng-binding'] [@ ng-binding('隐藏='calc.isCalculating']然后我得到以下错误:
线程“主”java.lang.AssertionError异常:预期[445.87]但找到[[[FirefoxDriver:firefox在WINDOWS上(f26e0c00-823f-4d45-8285-014303527524)] - > xpath:// div [@ class ='price ng-binding'] [@ ng-hide ='calc.isCalculating']]]
这是HTML:
等待之前,是什么导致元素出现?在手动测试中,您会如何制作动态元素? – CharlieS 2014-10-27 23:33:39
尝试使用'By.CssSelector()' – vkrams 2014-10-27 23:33:44