在前端,有些元素是不可點擊的、不可見的、或者需要看是否選中。那么我們如何判斷呢?
1、判斷元素是否可點擊:
判斷元素是否可點擊,WebElement對象調用is_enabled()
is_enabled()方法返回一個布爾值,若可點擊返回:True。若不可點擊則返回:False
示例:
from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Firefox() # 打開百度 driver.get("https://www.baidu.com") # 定位百度首頁的地圖按鈕 ele = driver.find_element(By.XPATH, "//a[@class='mnav c-font-normal c-color-t']") # 判斷元素是否可點擊 answer = ele.is_enabled() print(answer)
執行結果:
True
2、判斷元素是否可見:
判斷元素是否可見,WebElement對象調用is_displayed()
is_displayed()方法返回一個布爾值,若可見則返回:True。若不可見則返回:False
示例:
from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Firefox() # 打開百度 driver.get("https://www.baidu.com") # 定位百度首頁的地圖按鈕 ele = driver.find_element(By.XPATH, "//a[@class='mnav c-font-normal c-color-t']") # 判斷元素是否可點擊 answer = ele.is_displayed() print(answer)
answer為True,說明元素可見
2、判斷元素是否被選中:
判斷元素是否被選中,WebElement對象調用is_selected()
is_selected()方法返回一個布爾值,若可見則返回:True。若不可見則返回:False
示例:
from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Firefox() # 打開百度 driver.get("https://www.baidu.com") # 定位百度首頁的地圖按鈕 ele = driver.find_element(By.XPATH, "//a[@class='mnav c-font-normal c-color-t']") # 判斷元素是否可點擊 answer = ele.is_selected() print(answer)
執行結果:answer為False,說明未被選中。
總結:
元素若有 display:none 屬性,則是不可見的。否則就是可見
元素若有 disabled 屬性,則是不可點擊,否則就是可點擊
元素若有 selected 屬性,則是已被選擇