簡體   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