如何从 WebElement 获取完整的内部文本,现在它只获取其中的一部分。
<ul class="pagination-list">
<li class="page-to-left icon-bold-set-left page-to-left-disabled" ng-class="{ 'page-to-left-disabled' : !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="{ 'page-to-left-disabled' : !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/