Selenium中WebElement类中get_attrubute、get_propertry和text详解
get_attribute\get_property和text的详解
特点如下
#get_property(self,name)
#get_attribute(self,name)
#text(self)
1.get_property和get_attribute可以获取元素属性(标签)-元素8大定位方式(去除xpath)的值如(id="kw")name="id",获取的就是"kw"的值
2.get_property和get_attribute可以获取文本框输入的值,如driver.find_element_by_id("kw").sendKeys("selenium"),name="value",获取的值就是"selenium"
3.get_property和get_get_attribute传入的参数不存在时,不会报错
4.text 属性,就是元素本身的文字显示
5.text属性不存在,元素调用该方法也不会报错
代码如下
from selenium import webdriver
#启动chrome浏览器
driver = webdriver.Chrome()
#打开百度网页
driver.get("https://www.baidu.com")
#最大化浏览器
driver.maximize_window()
#隐式等待2秒
driver.implicitly_wait(2)
#通过id去定位元素element
element = driver.find_element_by_id("kw")
#向element输入selenium
element.send_keys("selenium")
#通过link去定位元素elementNo
elementNo = driver.find_element_by_link_text("文库")
1.1text存在和不存在
"""
text不存在时,打印为空,不会报错
"""
print(element.text)
"""
text存在
"""
print(elementNo.text)
1.2元素标签不存在和存在
"""
id不存在 get_property和get_attribute不会报错
"""
print(elementNo.get_property("id"))
print(elementNo.get_attribute("id"))
"""
id存在 通过标签"id"时都可以获取到值 #kw
"""
print(element.get_attribute("id"))
print(element.get_property("id"))
1.3元素value不存在和不存在时
"""
value不存在时,打印None
"""
print(elementNo.get_attribute("value"))
print(elementNo.get_property("value"))
"""
value存在,通过输入内容"value"时都可以获取到值
"""
print(element.get_attribute("value"))
print(element.get_property("value"))
1.4结果
文库
None
None
None
None
selenium
selenium