使用selenium定位獲取標籤物件並提取資料
selenium提取資料
知識點:
- 瞭解 driver物件的常用屬性和方法
- 掌握 driver物件定位標籤元素獲取標籤物件的方法
- 掌握 標籤物件提取文字和屬性值的方法
1. driver物件的常用屬性和方法
在使用selenium過程中,例項化driver物件後,driver物件有一些常用的屬性和方法
driver.page_source
當前標籤頁瀏覽器渲染之後的網頁原始碼driver.current_url
當前標籤頁的urldriver.close()
關閉當前標籤頁,如果只有一個標籤頁則關閉整個瀏覽器driver.quit()
關閉瀏覽器driver.forward()
頁面前進driver.back()
頁面後退driver.screen_shot(img_name)
頁面截圖
知識點:瞭解 driver物件的常用屬性和方法
2. driver物件定位標籤元素獲取標籤物件的方法
在selenium中可以通過多種方式來定位標籤,返回標籤元素物件
find_element_by_id (返回一個元素)
find_element(s)_by_class_name (根據類名獲取元素列表)
find_element(s)_by_name (根據標籤的name屬性值返回包含標籤物件元素的列表)
find_element(s)_by_xpath (返回一個包含元素的列表)
find_element(s)_by_link_text (根據連線文字獲取元素列表)
find_element(s)_by_partial_link_text (根據連結包含的文字獲取元素列表)
find_element(s)_by_tag_name (根據標籤名獲取元素列表)
find_element(s)_by_css_selector (根據css選擇器來獲取元素列表)
- 注意:
- find_element和find_elements的區別:
- 多了個s就返回列表,沒有s就返回匹配到的第一個標籤物件
- find_element匹配不到就丟擲異常,find_elements匹配不到就返回空列表
- by_link_text和by_partial_link_tex的區別:全部文字和包含某個文字
- 以上函式的使用方法
driver.find_element_by_id('id_str')
- find_element和find_elements的區別:
知識點:掌握 driver物件定位標籤元素獲取標籤物件的方法
3. 標籤物件提取文字內容和屬性值
find_element僅僅能夠獲取元素,不能夠直接獲取其中的資料,如果需要獲取資料需要使用以下方法
-
對元素執行點選操作
element.click()
- 對定位到的標籤物件進行點選操作
-
向輸入框輸入資料
element.send_keys(data)
- 對定位到的標籤物件輸入資料
-
獲取文字
element.text
- 通過定位獲取的標籤物件的
text
屬性,獲取文字內容
- 通過定位獲取的標籤物件的
-
獲取屬性值
element.get_attribute("屬性名")
- 通過定位獲取的標籤物件的
get_attribute
函式,傳入屬性名,來獲取屬性的值
- 通過定位獲取的標籤物件的
-
程式碼實現,如下:
from selenium import webdriver driver = webdriver.Chrome() driver.get('http://www.itcast.cn/') ret = driver.find_elements_by_tag_name('h2') print(ret[0].text) # ret = driver.find_elements_by_link_text('黑馬程式設計師') print(ret[0].get_attribute('href')) driver.quit()
相關文章
- JavaScript獲取head標籤物件JavaScript物件
- 通過JavaScript獲取標籤,修改標籤內容JavaScript
- JavaScript獲取元素標籤名JavaScript
- js獲取內容中的url連結,並設定a標籤JS
- Selenium + Scrapy爬取某商標資料
- vue裡a標籤從後臺獲取連結並實現跳轉Vue
- jquery如何獲取標籤的名稱jQuery
- JavaScript獲取物件資料型別JavaScript物件資料型別
- Jmeter系列(31)- 獲取並使用 JDBC Request 返回的資料JMeterJDBC
- javascript如何獲取事件目標物件JavaScript事件物件
- JavaScript 獲取指定標籤一級子元素JavaScript
- jQuery如何獲取元素的標籤名稱jQuery
- JavaScript如何獲取元素的標籤型別JavaScript型別
- jQuery獲取節點的標籤名稱jQuery
- 獲取html標籤包裹的文字內容HTML
- JS 獲取陣列物件的值&提取Object的valueJS陣列物件Object
- jQuery基礎學習(3)(獲取標籤屬性,動態新增標籤)jQuery
- 使用 tpl 標籤和 for 讀取物件屬性值中的陣列物件陣列
- 使用標籤庫取推薦位列表,最多隻能取兩條資料
- datatables使用ajax獲取資料
- 使用URLConnection物件獲取網路資源資訊物件
- DataGridView如何獲取選中行資料並更新View
- C#簡單的web網頁html抓取並提取指定a標籤連結C#Web網頁HTML
- jquery獲取元素的標籤tagName程式碼例項jQuery
- jquery獲取struts2標籤 裡的key valuejQuery
- 在Grails使用Sql獲取資料AISQL
- 物件獲取原型物件物件原型
- 使用Python進行Web爬取和資料提取PythonWeb
- 如何獲取Cookie並使用Cookie侵入Cookie
- 獲取資料並繫結到 UI | MAD SkillsUI
- 如何使用jQuery獲取物件的尺寸jQuery物件
- HTML標籤(基本標籤的使用)HTML
- java <%!%>標籤和<%%>標籤的使用Java
- js獲取與元素關聯的label標籤元素JS
- 易優Channel獲取欄目列表-Eyoucms標籤手冊
- Oracle獲取資料庫中的物件建立語句Oracle資料庫物件
- 使用Python來比較資料夾並提取差異部分Python
- 3、爬蟲-selenium-獲取使用者cookie的使用爬蟲Cookie