Web自动化Selenium-获取页面元素的相关信息

获取页面元素的信息主要有两个目的:一是执行完步骤后进行断言;二是获取前一步骤的响应结果,将其作为后续步骤的输入或判断条件。

获取元素的基本信息

◆目的输出元素的大小、文本、标签名。

◆关键字●.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:判断复选框或单选按钮的选中状态。

◆注意事项如果选中或者取消选中复选框或单选按钮页面有加载时间的话,要合理使用等待,然后再判断选中状态。 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值