要使用 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}
实战案例
从 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 ...