前言
本篇介紹幾種常見的獲取元素屬性方法。比如:獲取某個頁面的title、某個元素的文本值、某個元素的標簽、某個元素的屬性值、瀏覽器的名字等
一、獲取元素屬性的方法
1.獲取瀏覽器名字:driver.name
2.獲取頁面title:driver.title
3.獲取元素的文本:element.text,element表示定位到的元素。
如下圖這種顯示在頁面上的文本信息,可以直接獲取到。
4.獲取元素的標簽:element.tag_name,element表示定位到的元素。
以獲取百度輸入框的標簽屬性為例
5.獲取元素的屬性值:get_attribute("屬性"),這里的參數可以是class、name等任意屬性。
以百度輸入框輸入關鍵字匹配后,既打印出輸入的關鍵字又打印出聯想詞為例。
第一步:以上圖為例,聯想詞都有一個共同的class屬性,用find_elemnts()的方法定位到所有的聯想詞
第二步:用get_attribute()方法獲取到“data-key”屬性的值
二、參考代碼
1 from selenium import webdriver 2 from time import sleep 3 driver=webdriver.Chrome() 4 driver.get('https://www.baidu.com/') 5 driver.implicitly_wait(10) 6 # #獲取瀏覽器名字 7 # print(driver.name) 8 # #獲取頁面title 9 # print(driver.title) 10 # #獲取元素的文本 11 # text=driver.find_element_by_xpath('//*[@id="qrcode"]/div/div[2]/p[2]').text 12 # print(text) 13 # #獲取元素的標簽 14 # tag=driver.find_element_by_id('kw').tag_name 15 # print(tag) 16 driver.find_element_by_id('kw').send_keys('Python') 17 #獲取輸入框內容 18 value=driver.find_element_by_id('kw').get_attribute('value') 19 print(value) 20 #獲取聯想詞 21 elements=driver.find_elements_by_class_name('bdsug-overflow') 22 for i in elements: 23 print(i.get_attribute('data-key')) 24 driver.quit()
參考博客:https://www.cnblogs.com/yoyoketang/p/6481632.html https://www.cnblogs.com/yoyoketang/p/6486927.html