我有下一个按钮,脚本一直点击按钮,直到它到达最后一页。它应该读取并比较每个页面中的数据,然后一旦禁用该按钮就应该从循环中退出。当下一个按钮处于启用状态时,它会读取数据并进行比较,但是当下一个按钮被禁用时,脚本不会读取该页面
这是元素
这是我的代码
do {
....
....
if(driver.findElement(By.id("ReportViewer1_ctl06_ctl00_Next_ctl00_ctl00")).isDisplayed()) {
driver.findElement(By.id("ReportViewer1_ctl06_ctl00_Next_ctl00_ctl00")).click();
} else {
}
} while(driver.findElement(By.id("ReportViewer1_ctl06_ctl00_Next_ctl00_ctl00")).isDisplayed());
问题在于,当到达第二页时,接下来该按钮将被禁用,而While退出而不读取第2页中的数据。
如何确保阅读该页面
当只有1页数据时(因此下一个按钮将在开始时被禁用)
到达最后一页时,(下一个按钮进入禁用状态)
我曾尝试过FluentWait,但未按此处所述https://stackoverflow.com/questions/29282178/selenium-fluentwait-method-failing-to-ignore-nosuchelement
编辑...添加HTML以禁用按钮状态
<td>
<input id="ReportViewer1_ctl06_ctl00_Next_ctl01_ctl00" type="image"
style="border-style: none; height: 16px; width: 16px; border-width: 0px; cursor: default;"
alt="Next Page" src="/xxxx Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=
0.0.30319.1&Name=Microsoft.Reporting.WebForms.Icons.NextPageDisabled.gif"
title="Next Page" disabled="disabled" name="ReportViewer1$ctl06$ctl00$Next$ctl01$ctl00">
再次编辑--- 启用按钮时的HTML(没有禁用属性)
<input id="ReportViewer1_ctl06_ctl00_Next_ctl00_ctl00" type="image" style="border-style:
none; height: 16px; width: 16px; border-width: 0px;" alt="Next Page"
src="/xxxxx/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=10.0.30319.
1&Name=Microsoft.Reporting.WebForms.Icons.NextPage.gif"
title="Next Page" name="ReportViewer1$ctl06$ctl00$Next$ctl00$ctl00">