首页 > 解决方案 > 如何判断元素是否可点击?- 硒

问题描述

在此处输入图像描述

对于URL,我试图诱导点击下一页按钮。为了确保该按钮是否可点击,我尝试以下操作:

WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.fa.fa-angle-right')))

但这甚至适用于最后一页。我的理解哪里出错了?如何判断按钮是否可点击?在最后一页上,下一页按钮显示为灰色。

标签: pythonseleniumselenium-chromedriver

解决方案


如果您注意,当按钮为 时getting grayed out,它class attribute的属性值正在更改disabled

您可以制作一个function并将以下代码放入其中,可以call根据您的requirement.

示例代码:

wait = WebDriverWait(driver, 20)
next_button = wait.until(EC.element_to_be_clickable((By.XPATH, "//a[@aria-label='next page']")))
try:
    if next_button.get_attribute('class') == "disabled":
        print('Next button is not clickable anymore')
    else:
        print('Next button is available')
        next_button.click()
except:
    print('Something went wrong')
    pass

进口:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

推荐阅读