获取页面元素的信息主要有两个目的:一是执行完步骤后进行断言;二是获取前一步骤的响应结果,将其作为后续步骤的输入或判断条件。
获取元素的基本信息
◆目的输出元素的大小、文本、标签名。
◆关键字●.tag_name,输出元素的标签名。
●.size,输出元素的大小。
●.text,输出元素的文本(适用于链接元素)。
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/") #打开百度首页
ele = driver.find_element_by_link_text('新闻') #将新闻这个元素赋给变量ele
print(ele.tag_name) #输出标签名
print(ele.text) # 输出文本
print(ele.size) # 输出大小
driver.quit()
获取元素的属性信息
◆目的获取元素的属性信息,如id、name、class name、value等。
◆关键字get_attribute('id/name/value等'):获取元素的属性信息。
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
ele1 = driver.find_element_by_id('su') # 通过id定位百度搜索按钮
ele2 = driver.find_element_by_id('kw') # 通过id定位百度搜索框
print(ele1.get_attribute('id')) #输出搜索按钮的id属性
print(ele2.get_attribute('name')) #输出搜索框的name属性
print(ele1.get_attribute('value')) #输出按钮的文字,也就是value属性
print(type(ele1.get_attribute('name')))
print(ele1.get_attribute('name'))
driver.quit()
获取元素的CSS属性值
◆目的输出元素的CSS属性值,如元素的高、宽、字体等。◆关键字value_of_css_property('height/width/font-family'):输出元素的CSS属性值。
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
ele = driver.find_element_by_link_text('新闻') #通过link_text定位新闻元素
#height,输出元素的高
print(ele.value_of_css_property('height'))
#width,输出元素的宽
print(ele.value_of_css_property('width'))
#font-family,输出元素所使用的字体
print(ele.value_of_css_property('font-family'))
driver.quit()
判断页面元素是否可见
is_displayed:判断元素是否可见,如果可见,返回True;反之,返回False。
判断页面元素是否可用
is_enabled:如果元素可用,返回True;反之,返回False。
如果页面元素有disabled的属性的话,则页面元素不可用
判断元素的选中状态
◆目的判断元素的选中状态。
◆关键字is_selected:判断复选框或单选按钮的选中状态。
◆注意事项如果选中或者取消选中复选框或单选按钮页面有加载时间的话,要合理使用等待,然后再判断选中状态。