gpt4 book ai didi

java - 如何检查元素的禁用状态,然后在 selenium webdriver 中继续

转载 作者:行者123 更新时间:2023-11-30 08:18:37 25 4
gpt4 key购买 nike

我有下一个按钮,脚本不断单击该按钮,直到到达最后一页。它应该读取并比较每个页面中的数据,然后一旦按钮被禁用,它应该退出循环。当下一个按钮处于启用状态时,它会毫无问题地读取数据并进行比较,但是当下一个按钮被禁用时,脚本不会读取该页面

这是元素

enter image description here

这是我的代码

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. 当只有一页数据时(因此下一个按钮将在开始时被禁用)

  2. 到达最后一页时,(下一个按钮进入禁用状态)

我曾尝试 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">

最佳答案

您需要使用isEnabled()检查而不是 isDisplayed()

关于java - 如何检查元素的禁用状态,然后在 selenium webdriver 中继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29308412/

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