需要帮助才能使用Selenium webdriver获取WebElement的完整innertext

时间:2016-01-12 20:14:29

标签: c# selenium webdriver nunit specflow

如何从WebElement获取完整的innertext,现在它只是获得它的一部分。

       <ul class="pagination-list">
        <li class="page-to-left icon-bold-set-left page-to-left-disabled" ng-class="{ &#39;page-to-left-disabled&#39; : !HabilitaPaginaAnterior }" ng-click="PaginaAnterior()"></li>
        <li class="page-count ng-binding">1 - 10 de 24</li>
        <li class="page-to-right icon-bold-set-right" ng-class="{ &#39;page-to-left-disabled&#39; : !HabilitaProximaPagina }" ng-click="ProximaPagina()"></li>
    </ul>

我的硒代码:

 public void EntaoAPaginacaoMostrando()
        {
            string validaPaginacaoString;
            IWebElement ControllerPaginacao = driver.FindElement(By.XPath("//div[@ng-controller='PaginacaoController']"));
            IWebElement validaPaginacaoString = controllerPaginacao.FindElement(By.XPath("//li[@class='page-count ng-binding']")).GetAttribute("innerHTML");         

            Console.WriteLine("TestData: o texto de paginação é: " + validaPaginacaoString);


        }

运行此代码,我的结果总是“1 - 10 de”由于某种原因我无法得到“24”。

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

经过大量搜索后,我发现我测试的应用程序使用AngularJS,因此“24”需要一些时间才能加载。

正确的方法是使用具有内置方法的量角器等待角度加载。

使用线程休眠也起作用,因为它等待角度来加载内容。但是你知道,使用睡眠并不是最好的解决方案。

答案 1 :(得分:0)

尝试使用

...GetAttribute("innerHTML").Text