Selenium提取数据之标签对象提取文本内容和属性值
find_element仅仅能够获取元素,不能够直接获取其中的数据,如果需要获取数据需要使用以下方法
-
对元素执行点击操作
() 【只有能点击的标签才能定义点击操作,否者会报错】
- 对定位到的标签对象进行点击操作
-
向输入框输入数据
element.send_keys(data) 【必须得是能输入的标签才能使用此操作,如text、input,否则会报错】
- 对定位到的标签对象输入数据
-
获取文本
element.text
- 通过定位获取的标签对象的
text
属性,获取文本内容
- 通过定位获取的标签对象的
-
获取属性值
element.get_attribute("属性名")
- 通过定位获取的标签对象的
get_attribute
函数,传入属性名,来获取属性的值
- 通过定位获取的标签对象的
- element.clear() 对输入框做清空操作,有时候输入框会有默认值,如果不清空的话,自己输入的值会在默认值的后方继续拼接输入, 所以可以先element.clear,然后再
element.send_keys(data)操作
示例代码如下:
from selenium import webdriver
url = 'https:///chuzu/?utm_source=market&spm=u-2d2yxv86y3v43nkddh1.BDPCPZ_BT&PGTID=0d100000-0000-23da-518d-498c7ae1010a&ClickID=2'
driver = webdriver.Chrome()
driver.get(url)
# 通过xpath进行元素定位
xpath_list = driver.find_elements_by_xpath('/html/body/div[7]/div[2]/ul/li/div[2]/h2/a')
for i in xpath_list:
print(i.text, i.get_attribute('href'))
运行效果: