繁体   English   中英

使用Selenium和Python,如何检查按钮是否仍然可点击?

[英]Using Selenium and Python, how to check whether the button is still clickable?

所以我正在使用Selenium和Python进行一些网络抓取,我遇到了问题。 我点击“下一步”按钮移动到某个网站的下一页,但是当我到达最后一页时,我需要停止点击它。 现在,我这样做的想法只是在try / except语句中使用some_element.click()并等到它给我一个错误,而按钮不再可点击。 看来,.click()不会发出任何类型的信号,当按钮无法点击并且不发出任何真或假信号时,它不会抛出错误。

我尝试使用的代码段:

while True:
    try:
       button = driver.find_element_by_class_name('Next_button')
       button.click()
    except:
       break

还有其他方法吗? 谢谢和欢呼。

在不了解您的示例目标的情况下,可以说的最小值是可点击属性具有'href'属性。
您可以使用元素的get_attribute属性:

button = driver.find_element_by_class_name('Next_button')
href_data = button.get_attribute('href')
if href_data is None:
  is_clickable = False

获取元素的给定属性或属性。

此方法将首先尝试返回具有给定名称的属性的值。 如果不存在具有该名称的属性,则返回具有相同名称的属性的值。 如果没有具有该名称的属性,则返回None。

被视为真实的值,即等于“真”或“假”,将作为布尔值返回。 所有其他非None值都以字符串形式返回。 对于不存在的属性或属性,返回None。

有关使用get_attribute更多信息

您也可以尝试is_displayedis_enabled

使用它来获取类element.get_attribute(“class”)并检查类列表是否包含来自html框架的特征类(例如“disable”),用于描述不可点击的按钮

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM