python - 如何判断元素是否可点击?- 硒
问题描述
对于URL,我试图诱导点击下一页按钮。为了确保该按钮是否可点击,我尝试以下操作:
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.fa.fa-angle-right')))
但这甚至适用于最后一页。我的理解哪里出错了?如何判断按钮是否可点击?在最后一页上,下一页按钮显示为灰色。
解决方案
如果您注意,当按钮为 时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