当咱们应用 Selenium 的定位办法定位到元素之后,会返回一个 WebElement 对象(<class 'selenium.webdriver.remote.webelement.WebElement'>
),该对象用来形容 Web 页面上的一个元素,那么,对于元素的罕用属性,次要有:
序号 | 办法 / 属性 | 形容 |
---|---|---|
1 | WebElement.id | 获取元素的标示 |
2 | WebElement.size | 获取元素的宽与高,返回一个字典 |
3 | WebElement.rect | 除了获取元素的宽与高,还获取元素的坐标 |
4 | WebElement.tag_name | 获取元素的标签名称 |
5 | WebElement.text | 获取元素的文本内容 |
WebElement.id
获取元素的标示:
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome() # 关上浏览器
driver.maximize_window() # 浏览器最大化
driver.get("https://www.baidu.com/") # 跳转至百度首页
sleep(1)
element = driver.find_element_by_id("kw") # 定位搜寻输入框
print(element.id) # 25c961a3-4d39-4e67-b1f6-b72c89058a29
driver.quit() # 敞开浏览器
WebElement.size
获取元素的宽与高,返回一个字典类型数据:
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome() # 关上浏览器
driver.maximize_window() # 浏览器最大化
driver.get("https://www.baidu.com/") # 跳转至百度首页
sleep(1)
element = driver.find_element_by_id("kw") # 定位搜寻输入框
print(element.size) # {'height': 44, 'width': 548}
driver.quit() # 敞开浏览器
WebElement.rect
获取元素宽与高的同时,还获取元素的坐标,同样返回的是一个字典类型数据:
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome() # 关上浏览器
driver.maximize_window() # 浏览器最大化
driver.get("https://www.baidu.com/") # 跳转至百度首页
sleep(1)
element = driver.find_element_by_id("kw") # 定位搜寻输入框
print(element.rect) # {'height': 44, 'width': 548, 'x': 633, 'y': 222.234375}
driver.quit() # 敞开浏览器
WebElement.tag_name
获取元素的标签名称:
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome() # 关上浏览器
driver.maximize_window() # 浏览器最大化
driver.get("https://www.baidu.com/") # 跳转至百度首页
sleep(1)
element = driver.find_element_by_id("kw") # 定位搜寻输入框
print(element.tag_name) # input
driver.quit() # 敞开浏览器
WebElement.text
获取元素的文本值,无文本内容则返回空字符串:
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome() # 关上浏览器
driver.maximize_window() # 浏览器最大化
driver.get("https://www.baidu.com/") # 跳转至百度首页
sleep(1)
elements = driver.find_elements_by_xpath("//div[@id='s-top-left']/a") # 定位搜寻输入框
for element in elements:
print(element.text) # 新闻 hao123 地图 视频 贴吧 学术
driver.quit() # 敞开浏览器
总结