c# - 需要帮助使用 Selenium webdriver 获取 WebElement 的完整内部文本

标签 c# selenium webdriver nunit specflow

如何从 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>

还有我的 selenium 代码:​​

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

谢谢你的帮助。

最佳答案

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

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

使用 Thread sleep 也可以工作,因为它会等待 angular 加载内容。但是你知道,使用 sleep 并不是最好的解决方案。

关于c# - 需要帮助使用 Selenium webdriver 获取 WebElement 的完整内部文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34752952/

相关文章:

java - 如何通过拒绝selenium webdriver中的弹出窗口来关闭浏览器

google-chrome - Google Chrome中的弹出窗口阻止功能导致Capybara/Rspec测试出现问题

python-3.x - selenium.common.exceptions.ElementNotInteractableException : Message: element not interactable when clicking on an element using Selenium Python

c# - Windows 10 Creators Update 后 DateTimePicker 出现乱码

c# - Entity Framework 中的 "The data reader has more than one field"错误

c# - 为什么使用 WebRequest 发送 post 数据需要这么长时间?

c# - 加载“我的应用程序”时以编程方式截取屏幕截图

python - 无法修复 StaleElementReferenceException @my send_keys

c# - 等待 Selenium Webdriver 更改的最佳实践?

python - Selenium Webdriver 在子元素中查找元素