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