gpt4 book ai didi

java - webDriver 中的分页显示陈旧元素引用异常

转载 作者:行者123 更新时间:2023-12-01 14:04:43 25 4
gpt4 key购买 nike

环境:Eclipse、Chrome、Java

我正在处理应用程序中分页的测试用例。我尝试过一些代码,但它只移动到第二页。

代码:

List<WebElement> allpages = driver.findElements(By.xpath("//div[@class='pagination']//a"));
System.out.println(allpages.size());
if(allpages.size()>0)
{
System.out.println("Pagination exists");
for(int i=0; i<allpages.size(); i++)
{
Thread.sleep(3000);
allpages.get(i).click();
driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);
//System.out.println(i);
}
}
else
{
System.out.println("Pagination doesn't exists");
}
}

显示的大小为 12。问题是它仅移动到第二页,然后显示 StaleElementReference 错误

这是同一分页的 HTML 代码。HTML 代码:

<div id="page-navigation" class="pull-right">
<div id="303b171e-5a26-e456" class="flex-view">
<div class="pagination">
<ul>
<li class="">
<a href="#" data-value="0">«</a>
</li>
<li class="" data-value="0">
<a href="#" data-value="0">1</a>
</li>
<li class="" data-value="1">
<a href="#" data-value="1">2</a>
</li>
<li class="active" data-value="2">
<a href="#" data-value="2">3</a>
</li>
.....

最佳答案

当单击其中一个分页链接后加载新页面时,所有页面的 WebElement 不再有效,需要重新查找。您必须在 for 循环中再次调用 allpages = driver.findElements(By.xpath("//div[@class='pagination']//a")); ,以便您可以获得每个新页面的新引用。

关于java - webDriver 中的分页显示陈旧元素引用异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19003962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com