【问题标题】:How to Check if paginate button is enabled or disabled如何检查分页按钮是启用还是禁用
【发布时间】:2015-08-11 19:58:29
【问题描述】:

我有一个网页,底部有导航到其他页面的选项。 例如,like previous,1,2,3,4,Next。 我想检查是否使用 Java Selenium Webdriver 启用或禁用了“下一步”按钮。 有人可以在这种情况下帮助我吗?请参考以下 HTML sn-p

<div id="paginate">
<ul class="pagination">
    <li id="paginate_previous" class="paginate_button previous" tabindex="0">
        <a href="#">Previous</a>
    </li>
    <li class="paginate_button " tabindex="0">
        <a href="#">1</a>
    </li>
    <li class="paginate_button " tabindex="0">
        <a href="#">2</a>
    </li>
    <li id="paginate_next" class="paginate_button next disabled" tabindex="0">
        <a href="#">Next</a>
    </li>
</ul>

【问题讨论】:

    标签: java twitter-bootstrap selenium selenium-webdriver pagination


    【解决方案1】:

    通过paginate_next id 查找元素并使用isEnabled()

    WebElement nextPage = driver.findElement(By.id("paginate_next"));
    nextPage.isEnabled();  // returns true/false
    

    【讨论】:

    • 我正在研究是否启用了“下一步”按钮的功能。如果它被启用,那么我必须在一个while循环中执行一些任务,如果它没有启用,那么我需要退出循环。但是,当我尝试上面的代码时,它不会退出表单 while 循环并进入无限循环(通过下一个按钮导航的总页数为 2,在 2 页后,下一个按钮在网页上可见,但已禁用)。我无法使用上述条件退出 while 循环。这个问题有其他解决方案吗?
    • @KetanDeopujari 好的,明白了,感谢您的解释。对于初学者,您能否分享一个网页链接,以便我可以尝试并重现该问题?
    • 我已经在下面发布了答案。感谢您的帮助。
    【解决方案2】:

    我通过使用 getAttribute() 函数解决了这个问题。 每当按钮被禁用时,“下一步”按钮类属性就会发生变化,我利用这一方面来解决问题。

    在 while 循环中,我检查了类是否等于当前类,一旦类发生变化,条件就会返回 false,控制退出循环。

    【讨论】:

      猜你喜欢
      • 2020-03-28
      • 2012-11-06
      • 1970-01-01
      • 2014-08-16
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-13
      相关资源
      最近更新 更多