需要帮助使用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="{ '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>
我的硒代码:
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,它有一个内置的方法来等待角度加载。
使用线程睡眠也很有效,因为它等待angular加载内容。但你知道,利用睡眠并不是最好的解决方案。
尝试使用
...GetAttribute("innerHTML").Text