需要帮助使用Selenium网络驱动程序获取WebElement的完整内部文本

本文关键字:WebElement 文本 内部 获取 驱动程序 帮助 网络 Selenium | 更新日期: 2023-09-27 18:29:58

我如何从WebElement获得完整的内部文本,现在它只获得其中的一部分。

       <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"。

谢谢你的帮助。

需要帮助使用Selenium网络驱动程序获取WebElement的完整内部文本

经过广泛搜索,我发现我正在测试的应用程序使用AngularJS,因此"24"需要一些时间才能加载。

正确的方法是使用Protractor,它有一个内置的方法来等待角度加载。

使用线程睡眠也很有效,因为它等待angular加载内容。但你知道,利用睡眠并不是最好的解决方案。

尝试使用

...GetAttribute("innerHTML").Text