在前端,有些元素是不可点击的、不可见的、或者需要看是否选中。那么我们如何判断呢?
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 属性,则是已被选择