selenium判断元素的方法:
ele.is_displayed():判断某个元素是否显示在页面上;
ele.is_selected():判断某个元素是否被选中;
ele.is_enables():判断某个元素是否可以操作,如判断input、select等元素的可编辑状态,如按钮是否可以点击。
# -*- coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
import time
# 打开chrome浏览器
driver = webdriver.Chrome()
driver.implicitly_wait(10)
# 打开百度首页
driver.get('https://www.baidu.com/')
# 输入北京
driver.find_element_by_id('kw').send_keys('北京')
# 点击百度一下
driver.find_element_by_id('su').click()
# xpath路径
xpath = '//*[@id="1"]/div/div/h3/a'
# 实例WebDriverWait对象
wait = WebDriverWait(driver, 10)
# 调用until()方法, 判断某个元素是否存在页面上,结果为True,则结束等待,反之继续等待
wait.until(lambda x:driver.find_element_by_xpath(xpath).is_displayed(), message='搜索结果第一个标签没有定位到')
# 查看元素的操作属性
res1 = driver.find_element_by_xpath(xpath).is_displayed() # 元素是否显示,结果:True
res2 = driver.find_element_by_xpath(xpath).is_selected() # 元素是否被选中,结果False
res3 = driver.find_element_by_xpath(xpath).is_enabled() # 元素是否可用,结果:True
print(res1, res2, res3)
# 关闭浏览器
driver.quit()