要使用 python 讀取網頁元素,請按照以下步驟操作:導入 selenium 庫中的 webdriver。啟動瀏覽器,例如 chrome 驅動程序。使用 find_element_by_* 方法查找網頁元素。使用 element.text 讀取元素文本。使用 element.get_attribute() 讀取元素屬性。使用 element.location 和 element.size 讀取元素位置和大小。
網頁元素讀取指南
網頁元素讀取是網站自動化和數據提取的關鍵任務。本文將指導你如何使用 Python 和 Selenium 讀取網頁元素的文本、屬性和位置。
導入必要的庫
from selenium import webdriver
登錄后復制
啟動瀏覽器
driver = webdriver.Chrome() # 或其他瀏覽器驅動程序
登錄后復制
查找網頁元素
使用 Selenium 的 find_element_by_*
方法查找元素:
find_element_by_id("my_id")
find_element_by_name("my_name")
find_element_by_class_name("my_class")
find_element_by_xpath("//element/path")
讀取元素文本
text = element.text
登錄后復制
讀取元素屬性
value = element.get_attribute("attribute_name")
登錄后復制
讀取元素位置
location = element.location # 返回 {x, y} 坐標 size = element.size # 返回 {width, height}
登錄后復制
實戰(zhàn)案例
從 IMDb 網站提取電影標題和評分:
# 打開 IMDb 網站 driver.get("https://www.imdb.com/") # 獲取前 10 部電影的標題和評分 titles = [] ratings = [] for i in range(1, 11): # 查找標題元素 title_element = driver.find_element_by_xpath(f"(//h3)[{i}]/a") # 讀標題 title = title_element.text # 查找評分元素 rating_element = driver.find_element_by_xpath(f"(//strong)[{i}]") # 讀評分 rating = rating_element.text titles.append(title) ratings.append(rating) # 打印結果 for title, rating in zip(titles, ratings): print(f"{title}: {rating}")
登錄后復制
這將打印類似于以下內容的結果:
The Shawshank Redemption: 9.3 The Godfather: 9.2 The Dark Knight: 9.0 Schindler's List: 9.0 12 Angry Men: 9.0 ...
登錄后復制